vue 数据更改,但是页面不更新解决
问题
昨晚在写vue框架项目时,最开始用假数据写的时候,编写函数对数据更改页面实时变化,但是和后台配置接口后,根据后台传参来更改数据,发现页面并未改变,然而console.log打印数据发现数据已经变化
解决办法
翻阅百度发现大致是 javascript的限制导致vue检测不到变化
其中 数组的解决 方法为下面几种操作
// 数组
push()
pop()
shift()
unshift()
splice()
sort()
reverse()
由于我写的是个对象,不能使用以上方法,所以要使用对象的解决方法,我所了解到的有两种
// 对象
Vue.set(object, key, value)
Object.assign(target, ...sources)
正确代码 (注释为错误写法)
// this.tableData[this.index].details="报告已提交"
this.$set(this.tableData,this.index,{details:'报告已提交'})
可能还不是很懂具体原理,希望大佬可以指教
写完发现vue官网有权威介绍,链接如下:
https://cn.vuejs.org/v2/guide/reactivity.html