vue assets images path dynamic binding - require()
버튼 컴포넌트에서 `src/assets/images/...` 디렉토리 내부 이미지 소스 적용시 동적 바인딩 관련 이슈
상황
컴포넌트 분리 처음 코드
<template>
<button ... class="button">
<i v-if="iconName" :class="['icon', iconName]"></i>
button
</button>
</template>
<style lang="scss" scoped>
.button {
.icon {
...
background: no-repeat center center / contain;
&.plus {
background-image: url(assets/images/icon_plus.png);
}
}
&:hover {
.icon {
...
&.plus {
background-image: url(assets/images/icon_plus_hover.png);
}
}
}
}
</style>
// 사용
<Button iconName="plus" ...>
추가
</Button>컴포넌트 개선 코드
require() 사용
모르겠고 아쉬운점
참고
Last updated