关于 vue data 的一个小问题

新手上路,请多包涵

比如 我的 data 有个 search的 数据 暂且定义 search:{'id':'-1'};
然后我 有一个方法 里面 定义了 一个值 var x = this.search; x.id = '0' ; 然后我发现 this.search 的值也变了 怎么 让seach的值不变呢

阅读 2.5k
4 个回答

var x = JSON.parse(JSON.stringify(this.search))

json的“=”是指向,如果你需要实现值不变,就copy
var x = Object.assign(Object.create({}), this.search);

你这样做其实修改的是同一个值,需要深拷贝;

var x = JSON.parse(JSON.stringify(this.search))

上面的赋值方式,就是一种深拷贝

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题