gpt4 book ai didi

javascript - 从方法到模板语法 Vue 管理数据数组

转载 作者:搜寻专家 更新时间:2023-10-30 22:44:18 27 4
gpt4 key购买 nike

我使用 foreach 构建了一个基于 id 的数据数组。最初一切顺利,但发生了一些事情。我认为我错误地使用了 forEach。但是在我 console.log 数组之后,它看起来很好。这是我的代码。

const Thread = Vue.component('threadpage', function(resolve) {
$.get('templates/thread.html').done(function(template) {
resolve({
template: template,
data: function() {
return {
data: {
title: "Data Table Thread",
count: {},
list: {}
}
};
},
methods: {
GetData: function() {
var data = {
username: "example-username",
data: {
page: 0,
length: 10,
schedule: "desc"
}
};
var args = {
"data": JSON.stringify(data)
};
var params = $.param(args);
var url = "http://example-url";
var vm = this;
DoXhr(url, params, function(response) {
count = JSON.parse(response).data.count;
vm.data.count = count;
var result = [];
result_data = JSON.parse(response).data.data;
result_data.forEach(function(item) {
//console.log(item);
result[item._id] = {
_id: item._id
};
});
vm.data.list = result;
console.log(result);
});
}
},
created: function() {
this.GetData();
}
});
});
});

在 vuejs.org 中,我这样使用 v-for :

<tbody v-for="item in data.list">
<tr>
<td>
{{ item._id }}
</td>
</tr>
</tbody>

结果不显示任何内容。我的模板语法有问题吗?代码有什么问题?

最佳答案

您将结果定义为一个数组。

var result = [];

但是你通过索引向它添加对象,我怀疑这不是你想要的。如果您的 _id 值是字母数字,或者不按顺序,这将导致一个非常奇怪的数组。

result[item._id] =  {
_id : item._id
};

我希望您要么想要 var result = {} 要么

result.push({_id: item._id})

如果你想要一个数组,你的代码应该是这样的:

var result = [];
result_data = JSON.parse(response).data.data;
result_data.forEach(item => result.push({_id: item._id}))
vm.data.list = result

此外,您正在遍历 tbody 标记。您可能想要遍历 tr

<tbody>
<tr v-for="item in data.list">
<td>
{{ item._id }}
</td>
</tr>
</tbody>

关于javascript - 从方法到模板语法 Vue 管理数据数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45385016/

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