vue2.0的数据改变了,怎么视图没变化

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue2.0的数据改变了,怎么视图没变化相关的知识,希望对你有一定的参考价值。

参考技术A if(that.$router.history.current.fullPath == ‘/pers’)
that.pers_icon_active = "pers_icon_active";
that.pers_text_active = "pers_text_active";本回答被提问者采纳

vue关于this.a=this.b,改变this.b的数据问题

参考技术A 因为需要对请求到的数据进行处理后在渲染到视图上,所以借助 handleDate 变量来对原始的
数据 data2 进行处理,

如上当 this.data2 = this.handleDate 时,最后渲染的数据发现 handleDate 的数据也被改变了。
解决方法:

因为
1、在vue中 this.A = this.B,没有进行深层赋值,只是把this.A的地址指向了与this.B相同的地址,所有对于A的修改会影响到B
2、解决相互影响的思路是在this.A必须是新建的一个对象,这样才能保证不被指向同一地址,属性修改不会相互影响。
this.A=JSON.parse(JSON.stringify(this.B));
将对象转成字符串剔除对象属性后,再转换成对象赋值,这样能解决指向相同地址修改会相互影响的问题。里面的this.A= JSON.parse(JSON.stringify(this.B)); 如果是直接this.A= this.B的话会把 this.A替换为this.B然后再把this.B赋值给this.A相当于 this.A= this.A所以先转json字符串 再转数组 然后赋值给this.A这样不会相互影响

以上是关于vue2.0的数据改变了,怎么视图没变化的主要内容,如果未能解决你的问题,请参考以下文章

☀️Vue2.0为什么不能检查数组的变化?又该如何解决?

☀️Vue2.0为什么不能检查数组的变化?又该如何解决?

VUE2.0不可忽视的很多变化

深入浅出Vue.js--变化侦测

vue为什么不能检测数组的变化

在WPF的ListView中用xml绑定了数据源,怎么在xml中的内容变化后让ListView中的视图实时改变