vue中如何判断一个Observer对象,是否有属性

Vue2.6新增了observable函数,用于生成一个响应式对象。
关于observable函数,Vue官方文档是这样描述的:

在 Vue 2.x 中,被传入的对象会直接被 Vue.observable 变更,所以如这里展示的,它和被返回的对象是同一个对象。在 Vue 3.x 中,则会返回一个可响应的代理,而对源对象直接进行变更仍然是不可响应的。因此,为了向前兼容,我们推荐始终操作使用 Vue.observable 返回的对象,而不是传入源对象。

Object.entries(obj).length > 0亲测有效:
MDN中关于entries的用法:
在这里插入图片描述

// 引入Vue
import Vue from 'vue';
// 省略n行代码......
    mounted() {
    const Zhangsan = Vue.observable({ name: '张三', age: 65 });
    const Lisi = { name: '李四', age: 65 };
    console.log(Object.entries(Zhangsan).length > 0, '=====entries 张三');// true
    console.log(Object.entries(Lisi).length > 0, '=====entries李四');// true

    console.log(Object.hasOwnProperty(Zhangsan), '=====hasOwnProperty 张三'); //false: hasOwnProperty方法无法判断Observer对象有属性
    console.log(Object.hasOwnProperty(Lisi), '=====hasOwnProperty 李四'); //true hasOwnProperty方法可判断普通对象有属性
  },
  },

上面代码输出结果:
在这里插入图片描述
打印entries方法遍历的值:在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值