有一个组件,组件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
,使得重新加载组件时引用的都是同一个对象,但是这里面的歪歪还请大佬们指点一下
30秒到达战场
相关分类