1.watch监听到数据的变化但页面没有刷新

在数据改动的代码后加  this.$forceUpdate();

添加this.$forceUpdate();进行强制渲染,效果实现。因为数据层次太多,render函数没有自动更新,需手动强制刷新。

2.没有监听到数据的变化

例如:改变了数组中的某一项或者改变了对象中的某个元素时,监听则未生效。

数组若要触发监听,下面方法即可触发

如:splice(),push() 等js方法

当然了,也可以使用vue中的方法 this.$set(object, index, new)

this.$set()方法是vue自带的可对数组和对象进行赋值,并触发监听的方法。

第一个参数为你要改变的数组或对象

第二个参数为下标,或者元素名称

第三个参数为新值

例:

this.$set(
    _this.answerList[index],
    'imageUrlString',
    result,
);

 

Logo

前往低代码交流专区

更多推荐