我正在尝试为数组内的每个数组显示一个元素,并在其数组包含真 bool 值时显示该元素。 if 函数第一次运行,但当值改变时元素不会消失。
<li v-for="(value, index) in list">
<span> {{ value[0] }} </span>
<span v-if='value[1]'> {{ value[2] }} </span>
</li>
var List = new Vue({
el: "#List",
data: {
list: ['fizz',true,0],
},
methods: {
toggleItem: function(index) {
this.list[index][1] = !this.list[index][1];
},
}
})
我应该能够运行
List.toggleItem(0)
最佳答案
如果您要更新 Vue
中的数组,请使用 Vue.set();
以便 Vue
可以跟踪更改并更新模板
例如,
Vue.set(value, 1, false);
注意:像这样简单更新 value[1] = false;
这不起作用
关于javascript - Vue.js v-if 里面的 v-for 没有主动监听数组变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46398408/