首页 > vue.js组件改变了数据,但是dom并没有刷新

vue.js组件改变了数据,但是dom并没有刷新

改变了值,但是dom并没有刷新,求问什么情况?

第二个select的数据已经是{},但是dom上还是显示“全部city”


因为 JavaScript 的限制,Vue.js 不能检测到下面数组变化:

  1. 直接用索引设置元素,如 vm.items[0] = {};

  2. 修改数据的长度,如 vm.items.length = 0。

为了解决问题 (1),Vue.js 扩展了观察数组,为它添加了一个 $set() 方法:

// 与 example1.items[0] = ... 相同,但是能触发视图更新
example1.items.$set(0, { childMsg: 'Changed!'})
至于问题 (2),只需用一个空数组替换 items。


改成这样试试:

this.filter.condition[0].children.$set(1, {});

文档中说过这个问题,链接。
改变数组元素使用 $set() 或 vue 包装过的变异方法。

【热门文章】
【热门文章】