vue 数据修改但页面没刷新

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,
 );