我对在Vue模板中异步加载数据并显示的情况很感兴趣。在我的具体情况下,我需要显示产品对象的标题属性:
<td class="deals__cell deals__cell_title">{{ getProduct(deal.metal).title }}</td>
但目前该产品未加载,因此标题根本未呈现。 我找到了一个可行的解决方案:如果产品未加载,则在承诺解决后重新调用getProduct函数:
但是该产品当前未加载,因此标题根本未被渲染。我找到了一个可行的解决方案:如果产品未加载,则在promise解决后重新调用getProduct函数:
getProduct (id) {
if (!this.rolledMetal.all.length) {
this.getRolledMetal()
.then(() => {
this.getProduct(id)
})
return {
title: ''
}
} else {
return this.getRolledMetalById(id)
}
}
但是也许您知道更优雅的解决方案,因为我认为这个有点复杂 :)