【发布时间】:2017-01-30 19:36:26
【问题描述】:
我正在尝试访问动态属性 (:class) 中的属性 (fieldType, value)
<div fieldType="favoriteSports"
@click="update_favorite_sports"
value="Soccer"
:class="{selected: sportsForm[fieldType].indexOf(value) != -1 }">
Soccer
</div>
这会记录以下错误:
Property or method "fieldType" is not defined on the instance but referenced during render. Make sure to declare reactive data properties in the data option.
我想它期望 fieldType 是一个数据属性。
这是如何实现的,或者这是一种反模式?
【问题讨论】:
-
这是动态生成的现场系统吗?你有什么理由不能使用
:class="{selected: sportsForm['favoriteSports'].indexOf('Soccer') != -1 }"? -
@JustinMacArthur 是的,我正在寻找将其抽象为 v-for 的解决方案。可以想象,将有超过 20 种运动,动态插入
-
好的,你用什么变量来填充
fieldType和value,因为你应该能够将它传递给类选择器。我会写一个答案来展示它是如何工作的。
标签: javascript vue.js vuex