代码如下,fetchData
通过 http 请求获取数据并放入 provinceList
,但 provinceList.length
等于 0。通过控制台输出相关信息,provinceList 中应该是有内容的。
代码均位于 vue 文件中。
changeCountry(val) {
this.fetchData(
this.provinceList,
`${this.API.province}/${this.countryCode}`,
);
this.provinceFlag = true;
const prolist = this.provinceList;
this.noProvince = (prolist.length === 0);
console.log('changeCountry: 1 ', prolist);
console.log('changeCountry: len ', prolist.length, 'noProvince ', this.noProvince);
this.$emit('addressSelect', val);
}
fetchData(array, url) {
this.axios
.get(url)
.then((resp) => {
if (resp.status === 200) {
const items = JSON.parse(JSON.stringify(resp.data.data));
array.splice(0, array.length, ...items);
} else {
console.log(resp.status);
}
})
.catch((err) => {
console.log(err);
});
},
楼上的几位说的都对,改成这样就好了:
如果不太明白的话,可以打开控制台 - 网络:
然后选择offline或low3g,或是自定义一个比较低的带宽。就知道为什么了。