如何在vuejs中的v-for中指定数组的索引?
How to specify index of array in v-for in vuejs?
我的 vuex 状态中有一个颜色数组,在我的组件中我想为来自 v-for 的每个元素指定每种颜色。
// state
state: {
APIData: {
userInfo: {},
allClasses: [
{
subject: 'subject1',
...
},
{
subject: 'subject2',
...
},
{
subject: 'subject3',
...
}
],
classBackGroud: ['red', 'blue', 'green',..],
},
},
这是我试过的方法
// component
<v-card
class="col-12"
v-for="(course, index) in APIData.allClasses"
:key="course.subject"
v-bind:style="{color: APIData.classBackGround[index]}"
>
{{ course.subject }}
</v-card>
我想要这样的东西,subject1 是红色,subject2 是蓝色,subject3 是绿色,等等
根据我的尝试,我得到了这个错误
[Vue warn]: Error in render: "TypeError: Cannot read property '0' of undefined"
如何实现?
您的 state
对象具有 classBackGroud
,但您正在尝试渲染 classBackGround
。似乎是拼写错误。否则,代码对我来说看起来不错。尝试更正 属性 名称。
我的 vuex 状态中有一个颜色数组,在我的组件中我想为来自 v-for 的每个元素指定每种颜色。
// state
state: {
APIData: {
userInfo: {},
allClasses: [
{
subject: 'subject1',
...
},
{
subject: 'subject2',
...
},
{
subject: 'subject3',
...
}
],
classBackGroud: ['red', 'blue', 'green',..],
},
},
这是我试过的方法
// component
<v-card
class="col-12"
v-for="(course, index) in APIData.allClasses"
:key="course.subject"
v-bind:style="{color: APIData.classBackGround[index]}"
>
{{ course.subject }}
</v-card>
我想要这样的东西,subject1 是红色,subject2 是蓝色,subject3 是绿色,等等
根据我的尝试,我得到了这个错误
[Vue warn]: Error in render: "TypeError: Cannot read property '0' of undefined"
如何实现?
您的 state
对象具有 classBackGroud
,但您正在尝试渲染 classBackGround
。似乎是拼写错误。否则,代码对我来说看起来不错。尝试更正 属性 名称。