vue-router - TypeScript 安全路由名称?

标签 vue-router vuejs3

考虑以下代码:

const router = useRouter()

await router.push({
  name: 'NonExistingRoute', // no typescript error ):
}) 

给出了一个不存在的路由名称,但没有发生 TypeScript 错误。相反,该问题只会在运行时被注意到。有什么方法可以得到编译时错误吗?

最佳答案

也许你可以把它包装在一个只接受类型化路由字符串的实用函数中

const router = useRouter()
export type NamedRoute = "login" | "logout" | "user-profile";

export async function goToNamedRoute(name: NamedRoute): Promise<void> {
    return router.push({name});
}

关于vue-router - TypeScript 安全路由名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71189127/

相关文章:

typescript - 如何使用 Typescript 处理 Vue 3 模板中的 DOM 对象

vue.js - Vue 3 Teleport 是否只能移植到 vue 之外?

laravel - 使用 router-view 和 Vue 传递 prop

javascript - 如何在 Vue.js 中获取 url 面包屑中的路径参数

javascript - 拼接数组不重新渲染表格行Vuejs

javascript - Vue 3 : Add global method via Plugin not working

javascript - 如何使用 Typescript 在 pinia 中设置初始状态

css - JavaScript 更新 CSS 自定义属性比使用元素样式慢

javascript - 注销后调用 Firebase getRedirectResult

javascript - 为某些路由禁用 vue-router?或者如何运行 SPA 后端和非 SPA 前端?