我试图像这样绑定一个类:
:class="{active: favs.medium_title.fontWeight === 'bold'}"
除了在安装组件时fontWeight
还不存在。
这是我的对象
favs: {
...
medium_title: {},
...
}
因此,当我添加fontWeight
属性并且它的值不设置活动的类。
答案 0 :(得分:0)
您需要将fontWeight
添加到data
对象中,并为其指定一个默认值,以便fontWeight
在挂载时存在。
答案 1 :(得分:0)
因为fontWeight属性没有声明它不是反应性的,因此您需要在对象声明中声明它。
在这种情况下,单击按钮后属性中的值发生更改,该类将正确绑定。
return std::move(Cls(x));
请参阅下面的小提琴以获取解决方案。 https://jsfiddle.net/xgh63uLo/
如果您不想提前声明属性,则可以使用Vue。$ set设置新属性,使其具有反应性 检查以下链接 https://vuejs.org/v2/guide/reactivity.html#Change-Detection-Caveats
答案 2 :(得分:0)
您可以使用vm.$set
(您可以阅读here)添加新属性:
this.$set( this.favs.medium_title , 'fontWeight' , 'bold' )
通过这种方式,它将是反应性的,并且将检测到更改。