【发布时间】:2020-06-11 18:37:15
【问题描述】:
我自己的 vue 组件发送 http 请求来接收对象数组,然后我将答案存储在 data 属性中,就可以了。现在我想把这个数组绑定到 v-model,但是当用户输入一些东西时,我的数组也会改变。我想存储数组以供以后使用并使其不可编辑,我只想将其值绑定到 v-model,而不是引用我的数组。我的目标是允许用户将 v-model 值重置为从 api 接收的数组。我希望你明白这一点,你将能够帮助我。
<draggable v-model="myArray">
<div v-for="element in myArray" :key="element.id">{{element.name}}</div>
</draggable>
<button @click="addElement">New</button>
data() {
return {
myArray: [],
array: []
}
},
methods: {
addElement() {
myArray.push({id:1, name:'something'});
},
getData() {
axios(...)
.then(res => {
this.array = response.data;
});
}
setData() {
this.myArray = this.array;
}
}
现在如果用户将新元素添加到myArray,它也会插入到array
【问题讨论】:
-
您是否尝试过使用
array.map、array.filter或类似的方法传递克隆数组? -
我已经更新了帖子,现在你可以看到代码了,@Darius,是的,我已经尝试过了,但得到了相同的结果。
标签: javascript vue.js v-model