为了账号安全,请及时绑定邮箱和手机立即绑定

Vue再次加载组件,变量更新导致无法渲染视图

Vue再次加载组件,变量更新导致无法渲染视图

千巷猫影 2019-03-14 18:15:41
有一个组件,组件data中有一个数组:data () {  return {    list: [] // 假设该数组的 dep.id = 53   }}vue中被监听的对象,在控制台中打印的时候,会有 __ob__: Observer 其中有个dep.id 还不太了解这个dev.id的具体含义,猜测该id为对象唯一标识然后,在methods中,为list赋值,大概操作就是 this.list = someData, 然后视图会自动更新,目前一切正常问题是,当页面进行跳转,再回到该页时,会发现 list 的dep.id值更新了,且该值貌似都比较大,基本在1000+,先假设该值是1024 而且,在操作list时,即上面提到的操作 this.list = someData, 这里的list的 dep.id并不是1024,而是最初的值 53,这最终导致的结果就是视图无法更新(猜测这时视图引用的应该是1024的list)目前已经通过在data()外定义list,使得重新加载组件时引用的都是同一个对象,但是这里面的歪歪还请大佬们指点一下
查看完整描述

1 回答

?
30秒到达战场

TA贡献1828条经验 获得超6个赞

貌似是因为代码里有闭包,导致变量在组件销毁时没能初始化


查看完整回答
反对 回复 2019-03-23
  • 1 回答
  • 0 关注
  • 1048 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信