import {
createRouter,
createWebHashHistory
} from 'vue-router'
import {
ElNotification
} from 'element-plus'
import {
getCurrentInstance
} from 'vue'
import Frame from './frame/frame.js'
import Camera from './camera/camera.js'
import Face from './face/face.js'
import Inspection from './inspection/inspection.js'
let baseRoutes = []
let routes = baseRoutes.concat(Frame, Camera, Face, Inspection)
// import store from "../store/common/system.js";
const router = createRouter({
history: createWebHashHistory(),
routes
})
// 这里会报错,没有appContext这个属性,打印ctx.getCurrentInstance为null
const ctx = getCurrentInstance().appContext.config.globalProperties;
router.beforeEach((to, from, next) => {
if (JSON.stringify(to.meta) === '{}') {
ElNotification({
title: '温馨提示',
message: '404!当前页面不存在',
type: 'error'
})
setTimeout(() => {
window.location.href = '/'
}, 1000)
} else {
// 设置当前页面标题
if (to.meta.title) {
console.log("设置路由", ctx);
// 不用管这里的store
document.title = store.state.applic_sname + "-" + to.meta.title;
} else {
console.log('哈哈哈')
}
next()
}
})
export default router
在我的router下面index.js中想引用全局变量来设置title,但是ctx的获取为空,查询问题应该是只能在setup中引用,但是在这里写一个setup() {}又是错误的,那该怎么写呢,main.js中的全局变量是写好了的,其他地方引用没问题