作者:当个里个当 | 来源:互联网 | 2023-09-23 18:08
我有一个对象代表一张单据
1
| var bill={id:'#',store:'bbb'}; |
完了在new Vue时赋值给$data:
1
| var vm = new Vue(el:'#billinfo', data: bill}); |
然后在html中呈现单据信息:
在页面的交互中,bill可能会变成另一张单据,而我不想挨个更新单据属性:
1 2
| bill.id = 'xxx';
bill.store = 'yyy'; |
我想把bill整个替换掉,但改变bill的指向显然不行:
1
| bill = {id:'xxx', store: 'yyy'}; |
这样也不行:
1
| vm.$data = {id:'xxx', store: 'yyy'}; |
固然可以将bill作为$data的某个子属性来构造vm,例如:
1
| var vm = new Vue({el:xx, data: {bill: bill}}); |
这样在bill更新时便可以像这样操作:
1
| vm.bill = {id:'xxx', store: 'yyy'}; |
但问题是使用时就只能带上这个属性名来使用:
请问怎样才能让$data就是实体本身时,整个更新$data?又或者,即便实体属于$data的某个子属性,也能不带属性前缀来使用?