【发布时间】:2018-07-08 23:40:28
【问题描述】:
我在导航到路由之前实现了数据获取,即在从 API 加载数据之前不会加载路由。
一切正常,但我想在路线加载时添加进度条,但文档没有说明实现。
这是我的代码
import axios from 'axios';
export default {
data () {
return {
post: null,
error: null
}
},
beforeRouteEnter (to, from, next) {
axios.get('https://jsonplaceholder.typicode.com/posts/1').then((response,error)=>{
next(vm => vm.setData(response, error))
})
},
beforeRouteUpdate (to, from, next) {
this.post = null
axios.get('https://jsonplaceholder.typicode.com/posts/1fh').then((response,error)=>{
this.setData(response,error)
next()
})
},
methods: {
setData (response,error) {
if (error) {
console.log("Error",error);
this.error = err.toString()
} else {
this.post = response.data
}
}
}
}
组件
<div class="post">
<h2>Sample child</h2>
<div v-if="error" class="error">
{{ error }}
</div>
<div v-if="post" class="content">
<h2>{{ post.title }}</h2>
<p>{{ post.body }}</p>
</div>
</div>
这将在我点击路线me/posts时加载
官方文档 https://router.vuejs.org/en/advanced/data-fetching.html
【问题讨论】:
标签: javascript node.js vuejs2 vue-router