美文网首页
Vue中 数据已改变,视图未更新的情况

Vue中 数据已改变,视图未更新的情况

作者: Echo_前端 | 来源:发表于2019-04-02 16:01 被阅读0次

使用vue的朋友们大多遇到过这样的情况:当更改了某一数据之后,console.log()该数据会显示已变化,但偏偏视图并不刷新。

原因:由于javascript的限制,Vue不能检测到以下变动的数组

1.通过索引直接设置数组的某个值,this.Arr[index] = newValue;

2.通过索引直接设置数组中对象的某个属性,this.Arr[index].pro = newValue;

3.通过修改数组的长度,this.Arr.length = newLength;

解决办法:

1.索引直接设置数组的某个值

//1.Vue.set
Vue.set(this.objArr,index,newValue)  //(数组,索引,新值)
 
//2.prototype.splice
this.objArr.splice(index,1,newValue) //(索引,长度,新值)

2.索引直接设置数组中对象的某个属性

//1.Vue.set
Vue.set(this.objArr,index,tempObj)  //(数组,索引,新值)
 
//2.prototype.splice
this.objArr.splice(index,1,tempObj) //(索引,长度,新值)

3.修改数组的长度

//1.prototype.splice
this.objArr.splice(this.objArr.length,0,new Object()) //(索引,长度,值) 
//从长度索引开始增加一个新的对象。
 

原文:https://blog.csdn.net/a646070718/article/details/80147075

相关文章

  • Vue中 数据已改变,视图未更新的情况

    使用vue的朋友们大多遇到过这样的情况:当更改了某一数据之后,console.log()该数据会显示已变化,但偏偏...

  • vue数据更新,视图无法更新问题

    在vue中修改数据,但是vue没有检测数据修改,视图数据未能更新的情况 使用index索引修改数据时,this.a...

  • vue中this.$set()的作用

    在使用VUE中遇到要求实时更新视图数据,当发现model上的数据发生改变,而页面上的视图数据没有改变,推荐使用th...

  • Vue数据响应式

    1.什么是数据响应式 在 Vue 中,当 data 中的数据发生改变时,视图会进行更新,这就是Vue数据响应式的概...

  • Vue源码解析-响应式原理(一)

    Vue 响应式 概述 数据和视图相互关联,相互依赖,数据变化了,视图也随之更新,视图改变了数据也会随之改变。 Vu...

  • vue知识点总结

    持续更新中...... 一:vue中的两个核心点 响应的数据绑定当数据发生改变时,自动更新视图为什么自动更新:利用...

  • Vue.set() this.$set()引发的视图更新思考及注

    引文 vue文档列表渲染中有条注意事项: 这里提到的两种情况实际改变了数据但是没有触发视图更新。 由此引出Vue....

  • vue面试题

    1. vue实现双向绑定的原理? MVVM 模式在于数据与视图的保持同步,意思是说数据改变时会自动更新视图,视图发...

  • 记录简单实现Vue2中的响应式原理

    Vue是数据驱动视图模式,数据变更后,会自动更新视图。 原生js中要更新视图通常是通过触发事件,然后修改数据,最后...

  • Vue中使用$set来添加数据并更新视图的方法

    vue中添加data数据的时候视图是不更新的,vue提供了一种$set的方法来强制修改数据并更新视图的方法: co...

网友评论

      本文标题:Vue中 数据已改变,视图未更新的情况

      本文链接:https://www.haomeiwen.com/subject/nkugbqtx.html