我有一些表格数据,通过props 与子元素们共享.现在我想克隆props 对象并使其无react .在我的例子中,我希望用户能够在不改变克隆值的情况下修改props值.克隆的值应该仅用于向用户显示编辑时的表单.下面的代码显示了这一点:
<template>
<div>
<div v-if="computedFormData">
original prop title: {{orgData.title}}
new title:
<input type="text" v-model="formData.title"/>
//changing data here will also change orgData.title
</div>
</div>
</template>
<script>
export default {
props: ['formData'],
data() {
return {
orgData: [],
}
},
computed: {
computedFormData: function () {
this.orgData = this.formData;
return this.orgData;
},
},
methods: {
},
}
</script>
我试过用Object.freeze(testData);
,但没用,testData和orgData都是被动的.还请注意,使用mounted
或created
属性不会呈现orgData,因此我不得不使用computed
属性.