有时候会有需求,就是我点击了某一行数据,而这一行的数据是个对象,我之前给他定义了一个值
在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);
好像是这样的吧,忘记了,先记录一下。