v-model更新数据不生效的解决

450 阅读1分钟

由于 JavaScript 的限制,Vue不能检测数组和对象的变化。尽管如此我们还是有一些办法来回避这些限制并保证它们的响应性。

方法一、 使用Vue.set(object,key,value)

Vue.set(vm.obj,``"sex"``,``"man"``)

方法二、 使用this.$set(this.object,key,value)

this.$set(this.obj,"sex","man")

方法三、使用**Object.assign({},this.obj)**重新赋值

this.obj.sex = "man";
this.obj = Object.assign({},this.obj)

总结:前两种方式都是应用了Vue内置的set方法去触发对象数据的检测,第三种方式使用的Vue的特性,对跟节点下的数据变更的自动检测