vue数据更新页面不刷新问题
可能会出现两种情况:1、替换其中某个数据2、替换掉整个数组 || 对象第一种:Vue官方文档给我们提供了两种方法:Vue.set()和this.set()区别:Vue.set可以设置实例创建之后添加的属性,而this.set()区别:Vue.set 可以设置实例创建之后添加的属性,而this.set()区别:Vue.set可以设置实例创建之后添加的属性,而this.set只能设置实例创建后存在的属
可能会出现两种情况:
1、替换其中某个数据
2、替换掉整个数组 || 对象
第一种:
Vue官方文档给我们提供了两种方法:Vue.set()和this.
s
e
t
(
)
区
别
:
V
u
e
.
s
e
t
可
以
设
置
实
例
创
建
之
后
添
加
的
属
性
,
而
t
h
i
s
.
set() 区别:Vue.set 可以设置实例创建之后添加的属性,而this.
set()区别:Vue.set可以设置实例创建之后添加的属性,而this.set只能设置实例创建后存在的属性
最常见错误:
1、通过数组索引修改数组元素
2、修改数组长度时
3、Vue 不能检测对象属性的添加或删除:你可以这样添加一个属性
数组原型上的方法vue可直接检测到变化的方法有:push(),pop(),shift(),unshift(),splice(),sort(),reverse()
第二种:
第三种:
如果还不行,也可以使用:
但你的数据缺实修改了,可以使用this.$forceUpdate()方法 (强制刷新)
以上这些可以解决大部分问题,不明白的可以留言联系哦
第四种:
你就要考虑利用 vue 提供的 provide 和 inject 自定义刷新了
我觉得,在我切换部门时候应该刷新整个页面的,毕竟之前的操作是之前的了
this.reload()
备注:
有人遇到上面都不行,数据组成是[{a:1},{b:2}]这种数据组成的折叠tree
因为数据不多:他解决的方法用了第一种:push(),pop(),shift(),unshift(),splice(),sort(),reverse()这些的变异方法
更多推荐
所有评论(0)