一、说明
1.在对vue中双向绑定的值进行多次编辑或修改时,更改了原数据,无法进行二次编辑或修改,就可以使用到浅拷贝。不会对原数据进行修改。
// record.rules: 逗号分隔的字符串
function handleEdit(record: Recordable) {
if (record.rules) {
// 第二次编辑时,数组无split方法,报错
record.rules = record.rules.split(',');
}
// 第一次编辑时,record.rules已经变成数组
console.log(record.rules)
}
- 调整,
// record.rules: 逗号分隔的字符串
function handleEdit(recordOld: Recordable) {
// 浅拷贝
const record = Object.assign({}, recordOld);
if (record.rules) {
// 不能直接操作原数据,需要进行浅拷贝,否则影响下一次的编辑
record.rules = record.rules.split(',');
}
// 依然是逗号分隔的字符串
console.log(recordOld.rules)
}