js push一个对象,修改后会改变源对象的值?

<div>

<el-input v-model="item.name" v-for="item in ruleForm"></el-input>

<el-button @click="submit()">添加</el-button>

{{ruleForm}}

</div>

submit(){

this.ruleForm.push(this.ruleForm[0]);

}

这样写会导致一个结果,两边公用一个数据源

然后换了种写法,但貌似还不行,有好的解决方案吗

submit(){

this.ruleForm.push({});

}

回答

this.ruleForm.push(Object.assign({},this.ruleForm[0]));

如果只有一层可以这么写 `
this.ruleForm.push(JSON.parse(JSON.stringify(this.ruleForm[0])));
`~~~~

this.ruleForm.push({type: '', name: ''})

以上是 js push一个对象,修改后会改变源对象的值? 的全部内容, 来源链接: utcz.com/a/44778.html

回到顶部