Vue2.6新增了observable函数,用于生成一个响应式对象。 关于observable函数,Vue官方文档是这样描述的:
在 Vue 2.x 中,被传入的对象会直接被 Vue.observable 变更,所以如这里展示的,它和被返回的对象是同一个对象。在 Vue 3.x 中,则会返回一个可响应的代理,而对源对象直接进行变更仍然是不可响应的。因此,为了向前兼容,我们推荐始终操作使用 Vue.observable 返回的对象,而不是传入源对象。
Object.entries(obj).length > 0 亲测有效: MDN中关于entries的用法:
import Vue from 'vue';
mounted() {
const Zhangsan = Vue.observable({ name: '张三', age: 65 });
const Lisi = { name: '李四', age: 65 };
console.log(Object.entries(Zhangsan).length > 0, '=====entries 张三');
console.log(Object.entries(Lisi).length > 0, '=====entries李四');
console.log(Object.hasOwnProperty(Zhangsan), '=====hasOwnProperty 张三');
console.log(Object.hasOwnProperty(Lisi), '=====hasOwnProperty 李四');
},
},
上面代码输出结果: 打印entries方法遍历的值:
|