vue.js - 如何在 vuejs 中指定 v-for 中的数组索引?
问题描述
我的 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
. 好像是拼写错误。否则,代码对我来说看起来不错。尝试更正属性名称。
推荐阅读
- linux - 如何杀死已使用源执行的脚本?
- python - 在 QDateTimeEdit 中获取当前日期时间
- if-statement - 根据单元格中的值将数据从一张表复制到另一张表
- asp.net-mvc - url.action 不会在 asp.net mvc 中生成 url
- swift - NSCollectionView 的完成处理程序/事件
- r - 我想将列表描述与关键字匹配,以及描述与哪个关键字匹配
- python - 匹配特定模式之后的所有内容,除了空格直到下一个字母
- java - 如何在另一个类中调用我的paintComponent() 方法
- php - 用户收到邮件但不是管理员
- php - 当我检查元素时,PHP 中的函数 the_custom_logo() 强制使用两个图像标签