首页 > 解决方案 > 如何在 VueJs 中通过路由名称获取特定的路由数据?

问题描述

在 VueJs 中,我总是可以访问当前的路线数据。但是,如果我想通过名称访问不同路由的数据怎么办?假设我定义了路线,

[
    {
        name: "dashboard",
        path: "/",
        component: Dashboard,
        meta: {
            title: "Dashboard",
        }
    },
    {
        name: "login",
        path: "/login",
        component: Login,
        meta: {
            title: "Login",
        }
    }
]

现在假设我在仪表板路线中。我可以访问它的数据,this.$route但是如果我想访问名为 login 的路由的元数据怎么办?是否有任何函数可以返回名为路由的对象login

标签: javascriptvue.jsvuejs2vuexvue-router

解决方案


您可以使用resolve方法将路由名称转换为如下路径:

const { href } = this.$router.resolve({
  name: 'password-change',
});

或者如果您想了解更多信息:

const { route } = this.$router.resolve({
  name: 'password-change',
});

作为回报,你会得到一个包含路由路径、元数据、参数等的对象。


推荐阅读