javascript - VueJs中如何通过路由名称获取特定路由数据?

标签 javascript vue.js vuejs2 vuex vue-router

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

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

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

最佳答案

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

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

或者如果您需要更多信息:

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

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

关于javascript - VueJs中如何通过路由名称获取特定路由数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58235509/

相关文章:

javascript - 数组上未检测到 Vue 更改

javascript - 显示一周中特定的几天 UI 日期选择器

javascript - 预先检查的输入框未被序列化

java - Backbone.js 集合不更新

javascript - 如何使用带有 vue js 的计算和 Prop 将事件样式应用于菜单

vue.js - [BootstrapVue 警告] : popover - Unable to find target element in document

javascript - Vue.js 获取所有 v-model 绑定(bind)

javascript - 将 $(this) 传递给函数

javascript - VueJS/Typescript - 找不到模块 './components/Navigation' 或其相应的类型声明

javascript - 除了计算之外的任何其他方式来存储 Vue 路由参数,使得引用无法修改