首页 前端知识 Vue3 关于router引起的[Vue warn]: inject() can only be used inside setup() or functional

Vue3 关于router引起的[Vue warn]: inject() can only be used inside setup() or functional

2024-05-22 09:05:36 前端知识 前端哥 724 724 我要收藏

原代码部分模块示例:有一个封装请求地址的模块api.ts:

import { useRouter } from "vue-router";
const router = useRouter();

let token = localStorage.getItem("token");
if (!token) {
    router.push("/login");
}

该router的使用会报警告inject() can only be used inside setup() or functional;原因在于useRouter只能在setup中使用,因此在模块中调用会出现警告,参考文档API Vue Router

解决办法:引入创建router的文件替换useRouter()!!!

解决办法:引入创建router的文件替换useRouter()!!!

解决办法:引入创建router的文件替换useRouter()!!!

引入示例:import router from "@/router/index.ts"。router使用方式不变,只是引入router的方式变了。

其中router/index.ts部分代码示例:

import { createRouter, createWebHashHistory} from "vue-router"
import type { RouteRecordRaw } from "vue-router"
import login from "@/views/login/index.vue"

const routes: Array<RouteRecordRaw> = [
    {
        path: "/login",
        name: "login",
        component: login,
    }
]

const router = createRouter({
  history: createWebHashHistory(),
  routes,
});

使用useStore同理。

转载请注明出处或者链接地址:https://www.qianduange.cn//article/9084.html
标签
评论
发布的文章

jQuery初学

2024-05-29 10:05:14

Jquery中$,web开发语言

2024-05-29 10:05:25

jQuery 实现小球撞击动画

2024-05-29 10:05:04

echarts 横向柱状图

2024-05-29 10:05:01

Echarts:读取动态数据

2024-05-29 10:05:53

大家推荐的文章
会员中心 联系我 留言建议 回顶部
复制成功!