如何在VueJs中通过路线名称获取特定路线数据?

Ash*_*lam 4 javascript vue.js vue-router vuex vuejs2

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

[
    {
        name: "dashboard",
        path: "/",
        component: Dashboard,
        meta: {
            title: "Dashboard",
        }
    },
    {
        name: "login",
        path: "/login",
        component: Login,
        meta: {
            title: "Login",
        }
    }
]
Run Code Online (Sandbox Code Playgroud)

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

Pic*_*ard 6

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

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

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

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

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