【发布时间】:2018-06-21 08:04:07
【问题描述】:
我的组件有一些奇怪的行为。我有一个按钮列表,当单击每个按钮时,应该通过从数组中删除它来从 DOM 中删除它。在这种情况下,我使用函数 removeItem 并将项目的索引传递给它。这工作正常,它正在从数组abc[] 中删除,但出乎意料的是同一个项目正在从另一个数组中删除xxzz[]
<template>
<button v-for="(item, index) in abc" @click="removeItem(index)">{{ item.name }}</button>
</template
export default {
data: () => ({
abc: [],
xxzz: [],
}),
methods: {
removeItem(index){
this.abc.splice(index, 1);
},
},
created(){
var vm = this;
let formData = new FormData();
axios({
url: '/get/items',
method: 'post',
data: formData
})
.then(function (response) {
if(response.status == 200){
vm.abc = response.data.items;
vm.xxzz = response.data.items;
}
});
}
}
【问题讨论】:
-
您的意思是
xxzz,还是在其他地方定义了xxyy项? -
我想知道
abc和xxzz是否实际上是同一个对象,因为您是从同一个来源制作它们的。您可以尝试使用Object.assign( {} , response.data.items )构建xxzz看看是否有帮助?
标签: vue.js vuejs2 vue-component