【发布时间】:2022-09-23 20:58:30
【问题描述】:
当我在路由器常量中添加 beforeEach 方法时,App.vue 路由停止工作:
main.ts:
import { createApp } from \'vue\'
import \'./tailwind.css\'
import App from \'./App.vue\'
import { createRouter, createWebHistory } from \'vue-router/auto\'
import { createHead } from \'@vueuse/head\'
const app = createApp(App)
const head = createHead()
const router = createRouter({
history: createWebHistory(),
}).beforeEach((to, from, next) => {
const publicPages = [\'/\'];
const authRequired = !publicPages.includes(to.path);
const loggedIn = !!sessionStorage.getItem(\'Orcamento:token\');
if (authRequired && !loggedIn) {
next(\'/login\');
} else {
next();
}
});
app.use(router)
app.use(head)
app.mount(document.body)
应用程序.vue:
<script setup lang=\"ts\">
import { computed } from \"vue\";
import useProject from \'../src/stores/index\';
const project = useProject();
const loggedIn = computed(() => project.status.loggedIn);
</script>
<template>
<navbar v-if=\"loggedIn\" />
<div>
<header class=\"bg-white shadow\" v-if=\"$route.meta.title\">
<div></div>
</header>
<main>
<router-view />
</main>
</div>
</template>
我正在使用 Vue 3 和 devDependecyunplugin-vue-router
错误消息:
[Vue 警告]:无法解析组件:路由器视图
如果这是本机自定义元素,请确保通过 compilerOptions.isCustomElement 将其从组件解析中排除。
在<App>
[Vue 警告]:在渲染期间访问了属性 \"$route\",但未在实例上定义。
在<App>
[Vue 警告]:渲染函数执行过程中出现未处理的错误
在<App>
未捕获的类型错误:无法读取未定义的属性(读取 \'meta\')
在Proxy._sfc_render (App.vue:19:9)
标签: javascript typescript vue.js vuejs3 vue-router