【发布时间】:2019-02-28 04:57:04
【问题描述】:
我对 vue.js(和 vue-router)很陌生,我正在尝试弄清楚如何加载初始化某些页面组件所需的异步数据。根据文档,可以像这样使用beforeRouteEnter 完成:
const Page = {
beforeRouteEnter(to, from, next) {
next(vm => {
vm.foo = {
bar: 'blah'
};
})
},
data() {
return {
foo: null
};
},
template: '<div>{{ foo.bar }}</div>'
};
如果我没有正确初始化 foo,组件渲染将失败,错误原因是 foo.bar 在初始化之前被访问。好的,我可以通过为foo 提供默认值来修复它,但这会引导我进入下一个问题:
- 当传递给 next 的回调尚未执行时,vue.js 是否可以渲染组件的任何中间状态?
- 它实际上是加载异步数据的正确方法还是我应该考虑其他一些选项?
【问题讨论】:
标签: javascript vuejs2 vue-component vue-router