vue_기록
| topics | 200-프론트개발 202 Vue.js |
| types | 학습 |
| tags | #vue #vue3 #tips |
Vue 개발 중 기록
Vue 개발하면서 알게 된 것들과 팁 정리
이미지 동적 바인딩
이미지를 동적으로 바인딩
export const getImgSource = (imgPath) => {
return new URL(imgPath, import.meta.url).href
}
style 부분에도 변수를 넣을 수 있음
v-bind(VARIABLE)
기본적으로 id라던가 class등을 :속성 등을 통해 동적으로 바인딩된다. 이는 해당 속성의 최상단루트에 상속된다. 하지만 defineprops를 통해서 내려받을 props라고 정의를 하면 최상단루트에 상속되지 않고 변수로 값을 받아온다.
EX 그냥 속성값추가
>> App.vue
<Hi :id="mj" />
>> Hi.vue
<div>
hi
</div>
>> render Html
<div id=mj>
hi
</div>
Ex 속성값을 defineProps로 지정
>> App.vue
<Hi :id="mj" />
>> Hi.vue
const {id} = defineProps({id:String})
<div>
hi
</div>
>> render Html
<div>
hi
</div>
자식에게 props를넘겨줄때 나는 주로 destructing을 많이쓴다. 선언한번더안해서 개꿀이니깐 ㅎ
근데 vue에서는 state값에대해 destructing을 못쓴다. 이게 props를 넘겨줄때에도 고대로 적용된다.
const {userTrendData, activeId} = defineProps({
userTrendData: Object,
activeId: String
})
이러면 activeId의 추적이 안된다.
const props = defineProps({
userTrendData: Object,
activeId: String
})
const {userTrendData, activeId} = toRefs(props);
이렇게해줘야한다.상당히 귀찮은걸 ㅎ
왜그럴꽈
https://joyhong-91.tistory.com/48
reactive는재할당시반응형을 잃어버린다.
상위 state를 하위 state를 통해 다시선언할경우 하위 state를 바꿔도 상위 state가 따라서 바껴진다.
실험하기.
집가서 draggable찾아보기