企业🤖AI Agent构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
对于对象,是通过`Object.defineProperty()`中的`getter`和`setter`进行读取和修改(vue3.0将用`proxy`实现),未监听响应式对象属性的添加删除,所以无法对已经创建的实例动态的增删属性,可通过`this.$set(obj,attr,value)`设置,同理,使用`Object.assign()`时也无法更新,`Object.assign()`方法用于将所有可枚举属性的值从一个或多个源对象复制到目标对象,它将返回目标对象,应该写成`this.obj = Object.assign(this.obj,{})` 对于数据,则是通过拦截数组原型上的方法,返回原数组方法并监听,具体有七种修改数组的方法,分别为`push, pop, shift, unshift, splice, sort, reverse`,所以直接修改数组长度和通过下标修改数组均不能实现双向绑定