gpt4 book ai didi

javascript - 在 vue.js 中的数组之间移动项目

转载 作者:行者123 更新时间:2023-12-03 07:29:32 25 4
gpt4 key购买 nike

我有两个数组,每个数组都有自定义组件。

列表a是搜索结果。列表 b 是所选项目的列表。

每个组件都有一个模板,用于呈现数组中的项目。

所以...我遇到的麻烦是,一旦我的列表位于列表 a 中,我想单击一个链接并将其添加到列表 b 中。但是当我尝试添加该项目时,我被告知无法读取未定义的属性“push”

这是我的整个 Vue.js 文件。我做错了什么?

new Vue({

el: '#search',
data: {
query: '',
listA: '',
listB: ''
},
methods: {

search: function(event) {

if (this.query != "") {
this.$http({url: '/list-a?search=' + this.query, method: 'GET'}).then(function(response) {
this.listA = response.data
});
};

event.preventDefault();
}

},
components: {
listaitem: {
template: '#listaitem-template',
props: ['lista-item'],
methods: {
selected: function(listaitem) {
// When clicked, this will add this listaitem to listB
this.listB.push(listaitem);
}
}
},

listbitem: {
template: '#listbitem-template',
props: ['listbitem']

}
}
});

最佳答案

您应该将 listAlistB 初始化为空数组,而不是像这样的空字符串

data: {
query: '',
listA: [],
listB: []
}

这将允许您在 listaitem 组件中使用 this.listB.push(listaitem); 而不会引发错误

关于javascript - 在 vue.js 中的数组之间移动项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35856927/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com