【发布时间】:2019-10-28 17:21:47
【问题描述】:
所以我像这样动态加载一些组件:
const Page0 = () => import("@/components/pages/tutorial/Pages/Page0")
const Page1 = () => import("@/components/pages/tutorial/Pages/Page1")
还有10个这样的页面,将根据路由参数调用。
我想知道,为了创建加载屏幕,我如何知道某个页面是否已加载,以及我如何知道它何时被切换。
这就是我完全使用它的方式。
<template>
<div>
<component :is="current_page"></component>
</div>
</template>
<script>
const Page0 = () => import("@/components/pages/tutorial/Pages/Page0/index.vue")
const Page1 = () => import("@/components/pages/tutorial/Pages/Page1/index.vue")
export default {
scrollToTop:
true,
components:
{
Page0,
Page1,
},
computed:
{
current_page ()
{
return "Page" + this.page
}
},
asyncData ({
route, store, env, params, query, req, res, redirect, error
})
{
return {
page:
params.page
}
}
}
</script>
【问题讨论】:
-
你在用vue-router吗?
-
@Phil 是的,但我正在通过参数字段更改页面,所以类似于
/tutorial/page/1,/tutorial/page/2,格式为/tutorial/page/:id -
我认为
import()会返回一个承诺,如果平常.then()可能会起作用。 -
@RichardMatsen 我将它与
computed和components结合使用。我已经更新以显示我在做什么,所以我不确定如何将.then或await放入其中
标签: javascript vue.js vuejs2 nuxt.js