vue 更新对象或数组更新后视图不刷新的问题
2019-07-24 本文已影响5人
泪滴在琴上
问题表现
在开发的过程中遇到一个问题,就是更新对象或数组后对应的视图值却不刷新。
官方解释
关于这个问题其实官方文档已经给出了很清楚的解释,想深入了解的小伙伴可以去扒官方文档。
https://cn.vuejs.org/v2/guide/list.html 渲染列表中的注意事项。
简单解决方案
出现这样问题的情景:已经初始化对象(数组),然后想要重新给对象(数组)的某一个属性(元素)重新赋值。console.log的时候发现对象(数组)的值已经变化成你想要的值,但是视图取并没有发生变化。
解决方案:这时就要用到this.$set的方法去赋值。
给对象赋值的方法
this.$set(Object,key,value)
//Object:目标对象,key:属性名称,value:属性值
给数组赋值的方法
this.$set(Array,index,value)
//Array:目标数组,index:元素的索引,value:值
