javascript - 在 VueJS 中异步获取数据
问题描述
我想显示从以下函数获取的数据:
async getData() {
let skus = this.skusData;
const app = { $axios: this.$axios };
let skusId = this.idSkus;
const skusPrices = await endPoint.getPrices(app, skusId);
let data = skus.map((item, i) =>
Object.assign({}, item, skusPrices[i])
);
return data;
}
async mounted() {
await this.getData();
},
我想这样显示:
<div v-for="item in this.getData" :key="item.id">
<my-favourite
:name="item.name"
:img-favorite="item.pictures"
:color="item.color"
:price="item.inclTax"
/>
</div>
但是,它没有按预期工作。
解决方案
您的代码存在许多问题(逻辑上和句法上)。我的结构如下:
data() {
return {
skuData: []
}
},
async getData() {
const { data } = await this.$axios.get('endpoint');
this.skuData = data // or however it is sent back
},
mounted() {
this.getData();
},
然后在您的模板中:
不要this
在您的模板中使用(那里不可用)。
<div v-for="item in skuData" :key="item.id">
<my-favourite
:name="item.name"
:img-favorite="item.pictures"
:color="item.color"
:price="item.inclTax"
/>
</div>
让我知道你从上面得到了什么,我们可以相应地移动东西。
推荐阅读
- mpi - MPI 持久通道——单个通道上的多个未完成请求
- angular - 如何使用相同的 ngModel 显示基于 Select 选项的输入字段
- powerbi - DAX PowerBI:用零替换空白值并出现图表问题
- angular - jspdf-autotable - didParseCell 不工作
- powershell - 如何一个接一个地运行powershell cmdlet
- javascript - 数组 foreach() 函数
- c# - 如果有效负载包含意外字段,如何返回 BadRequest
- azure-active-directory - 在 Portal.Azure.Com 中注册应用程序需要哪些权限
- java - Java - 尝试同时传递无值和布尔值,但返回 null
- django - 创建具有 3rd 方依赖项的可安装 Django 应用程序