这个问题可能是很多新手会遇到的问题:当生成vue实例后,当再次给数据赋值时,有时候并不会自动更新到视图上去。
其实最主要的原因还是因为对vue文档不熟悉:如果在实例创建之后添加新的属性到实例上,它不会触发视图更新。
当我们为对象修改一个或者添加一个属性时:
普通的修改虽然能改变该对象上的属性,但视图层却没有更新。
由于受JavaScript的限制,vue.js不能监听对象属性的添加和删除,因为在vue组件初始化的过程中,会调用getter和setter方法,所以该属性必须是存在data中,视图层才会响应该数据的变化。
所以可以使用
this.$set(obj, key, value)/vue.set(obj, key, value)来解决