【发布时间】:2017-06-11 12:51:46
【问题描述】:
所以下面的模板会立即渲染,并且不会等待 API 调用。
我找到的解决方案是使用 v-if 来防止元素呈现,直到数据存在。
如果我必须用 v-if 包装我的元素,这似乎违反 DRY 原则。
有没有另一种方法来解决这个问题?另一种编码方式?
<template>
<div id="app">
<div v-if="obj">
<h2>{{ obj[0].item }}</h2>
</div>
<div v-if="obj">
<h5>{{ obj[0].id }}</h5>
</div>
</div>
</template>
<script>
export default {
name: 'app',
data() {
return {
obj: []
}
},
mounted: function() {
axios.get(URL)
.then(response =>
this.obj = response
});
}
}
</script>
【问题讨论】:
标签: javascript vuejs2 vue.js