在vue.js中中使用vm.$data={a:2,b:1}提示错误,vm.$data不能修改vue实例的data?
本文介绍了在vue.js中中使用vm.$data={a:2,b:1}提示错误,vm.$data不能修改vue实例的data?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
尝试使用$data来修改Vue实例中的data内容结果控制台报错,提示的意思是不能整块的修改data,只能修改data里面的属性吗?
代码:
let data1 = {a:1,b:2}
let vm = new Vue({
el:'#example',
data:data1
})
vm.$data = {a:2,b:1};
解决方案
初始化时,Vue 将会递归将 data 的属性转换为 getter/setter,从而让 data 的属性能够响应数据变化。
查阅文档没有看到类似$set的修改方法,因此初始化完成后,貌似不能再修改root $data。
题主可以用如下代码达到想要的效果:
let data1 = {a:1,b:2}
let vm = new Vue({
el:'#example',
data:{data1: data1}
})
vm.$data.data1 = {a:2,b:1};
这篇关于在vue.js中中使用vm.$data={a:2,b:1}提示错误,vm.$data不能修改vue实例的data?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文