判断一个对象是否是空对象和对象,数组深拷贝

有时候会有需求,就是我点击了某一行数据,而这一行的数据是个对象,我之前给他定义了一个值
在data中

data() {
	this.obj ={}
}

如果我在methods下面做了一个判断

methods {
	ObjectFind () {
		if (JSON.stringify(this.obj) === '{}') {
			// 当我这个对象还是个空对象时该做什么操作,如果还是空那就证明赋值没赋上去
			// 一般用于表格点击啦,还有树形结构节点的点击啦
		}
	}
} 

2.在vue中如果用的是同样的数据,如果一个改变了,另一个也会跟着改变,那么需要把这两个获取到的地方都要深拷贝

在methods中

method: {
	getValue () {
		this.store.dispatch('system/usersManage/list', form).then(res => {
            if (res.code === '0') {
                this.userTable.list = JSON.parse(JSON.stringify(res.data.list));
                this.userTable.listBack = JSON.parse(JSON.stringify(res.data.list));
              	// 比如这两个都是要res.data.list,那么如果只写下面两句的话,如果其中哪一个数组中需要重新获取这个数组时,多一条,少一条数据,那么另一个数组也会跟着变化,这就很麻烦了,所以需要用到深拷贝。JSON.parse(JSON.stringify(res.data.list))把你的变量替换进去就好了
              	this.userTable.list = res.data.list;
                this.userTable.listBack = res.data.list;
            } else {
                this.$message.error(res.message);
            }
        });
		}
	}

还有个方法Object.assign({} , 要拷贝哪个对象)这个方法也是可行的,
例如:this.userInfoForm = Object.assign({}, this.loginUserInfo);
还能拷贝数组Object.assign([], 要拷贝哪个数组)
例如: this.tableProcessPoint = Object.assign([], this.tableProcessPoint);
好像是这样的吧,忘记了,先记录一下。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值