【发布时间】:2018-02-04 23:59:47
【问题描述】:
我正在从 API 中获取国家/地区列表,并且我想按次区域(大陆)分组显示它们。像这样:
API 给我一个响应,它是一个对象(国家)数组,每个对象都有一个名为“子区域”的键 - 我想按该键进行分组。 我使用lodash进行分组,但也许有一个我不熟悉的Vue方法。 我的 JS 代码:
var app = new Vue({
el: '#app',
data: {
countries: null,
},
created: function () {
this.fetchData();
},
methods: {
fetchData: function() {
var xhr = new XMLHttpRequest();
var self = this;
xhr.open('GET', apiURL);
xhr.onload = function() {
var countryList = JSON.parse(xhr.responseText);
self.countries = _.groupBy(countryList, "subregion");
};
xhr.send();
},
},
});
还有 HTML:
<li v-for="country in countries">
{{ country.name }} (+{{ country.callingCodes[0] }})
</li>
我怎样才能实现图片中的内容?
【问题讨论】:
-
VueJS 没有用于数据分组的辅助方法:它不是为此而设计的。它只是为 MVVC 数据绑定提供了一个框架。你能分享一个你得到的 JSON 响应的例子吗?
-
我不确定这里的实际问题是什么。
-
@Terry 当然,这是准确的回复restcountries.eu/rest/v2/all
-
你当前的代码输出什么?
标签: javascript vue.js frontend lodash