在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};
阅读 6.2k
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};
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题