v-for에서 style을 사용하려 할 때
373
投稿した質問数 1
선생님께서 올려주신 양질의 강의를 통해서 Vue 실력을 키워나가고 있는 Vue린이입니다.
강의에서 배운 내용을 바탕으로 스스로 실습을 진행하던 중 어려움에 부딪혀 질문드립니다..
현재 제 상황은 하나의 컴포넌트 안에서 li 엘리먼트를 v-for로 반복하려 합니다.
각 li 요소마다 다른 색상과 다른 위치를 지정해주기 위하여 style 내부에 변수를 선언해주었고, 다음과 같이 반응형 배열을 만들었습니다.
...
<li v-for="value in valueArr" :key="value.id" style="{--i: value.id, --clr: value.color}">
<a href="#">
<ion-icon :icon="value.logo"></ion-icon>
</a>
</li>
...const valueArr = reactive([
{
id: 0,
color: '#f70000',
logo: logoYoutube,
},
{
id: 1,
color: '#e71a21',
logo: logoPinterest,
},
{
id: 2,
color: '#3bd580',
logo: logoAndroid,
},
그런데 style 내부에 선언해준 변수에 값을 대입하기 위해 valueArr을 순회하는 value를 참고해서 id와 color값을 할당하고있는 상황이지만 자꾸 인식을 못하는 상황입니다.. 어떤 방법을 사용하면 해결할 수 있을지 여쭤볼 수 있을까요?.. 감사합니다..!!
回答 1
1
안녕하세요 :)
style 속성에 값을 바인딩 하기위해서는
v-bind:style="{--i: value.id, --clr: value.color}" // v-bind 활용
:style="{--i: value.id, --clr: value.color}" // v-bind의 단축표기이렇게 하시면 돼요 🙂
현재 코드에서는
style="{--i: value.id, --clr: value.color}"v-bind 또는 : 표기가 누락되어 있습니다.
감사합니다. 🙂
0
답변해주셔서 감사합니다 ㅠㅠ 제가 앞에 :를 기입하는 것도 빼먹었었네요,,,
그런데 v-bind로 처리를 해도 다음과 같은 문제가 일어납니다,,
말씀해주신 대로 v-bind를 적고 나니 밸류 값에 value.id와 value.color가 할당이 되는 것을 직관적으로 볼 수 있었습니다. 하지만 스타일 내부에 변수를 사용하려 --를 적는 순간 여기서 에러가 나는 것 같아요 😭😭
이러한 문제를 해결하려면 어떻게 해야하는지 조금 더 찾아보도록 할게요!! 답변해주셔서 감사합니다 ㅠ
props로 함수를 전달했을 때의 질문입니다!
0
632
1
eslint 세팅 질문 드립니다.
0
1711
2
컴포넌트 이벤트 전파 관련 질문입니다
0
498
1
app-level의 provide한 값을 새로고침시 정상적으로 inject하지 못함.
1
526
1
this.$refs에 값이 들어가는 시점이 언제인가요?
0
830
1
npm run dev 설치중
0
617
2
reactive vs ref... 굳이 reactive를 사용하는 이유가 뭔가요?
1
1945
1
dummy api axios 호출시 cors 에러
0
534
1
19:17 emit 관련 질문
0
568
1
reactive로 선언한 반응형 객체 자체를 바꿨는데 watch 콜백함수가 실행이 안되요
0
568
1
자식 컴포넌트에 input 태그, checkbox 같은 form 태그가 없으면 v-model 안 쓰는건가요?
0
577
1
template내 자바스크립트 표현식 평가 시점은 언제인가요?
0
344
1
App.vue 물결 표시 제거 방법
0
374
1
v-if 질문입니다!
0
555
1
ref vs reactive vs shallowRef
0
652
1
script 태그는 컴포넌트를 처음 가져올때 한번만 실행된다는 게 잘 이해가 안됩니다
1
668
1
이벤트 핸들러로 왜 일반 함수로는 작동이 안 되나요? + console.log도 인식이 안되요
0
343
1
Vue3 Composition API - computed
0
458
1
setup 함수내 문자열 관련 질문입니다.
0
344
2
v-on:click ="" 질문입니다
0
349
1
v-on:click="" 질문입니다
0
234
1
reactive와 computed 차이 질문
0
1108
1
emits사용 이유
1
449
1
eslint 오류표시 질문
0
500
1

