Vue路由器继承父属性

时间:2016-11-22 05:27:27

标签: javascript angularjs vue.js

我是vue.js的新手,我正在尝试设置不同的路线。我正在使用子路由,因为“登录”用户将具有与访问者不同的UI。

目前我的设置是这样的:

routes: [
    {
        path: '/auth',
        name: 'auth',
        component: test,
        meta: {
            auth: false
        },
        children: [
            {
                path: 'login',
                name: 'login',
                component: login
            },
            {
                path: 'signup',
                name: 'signup',
                component: signup
            }
        ]
    },

    {
        path: '/user',
        name: 'user',
        component: test,
        meta: {
            auth: true
        },
        children: [
            {
                path: 'profile',
                name: 'profile',
                component: login
            }
        ]
    }
]

虽然这是有效的,但我想知道为什么子路由不会接管父meta属性。我是否需要为每个子路由分配meta.auth?或者有没有办法继承这个?

基本上在router.beforeEach中,我想检查用户是否正确认证。但仅限于/user

的子路线

我也来自angular背景,所以我习惯于嵌套路线,不确定这是否是Vue中的最佳方式。

1 个答案:

答案 0 :(得分:3)

回答我自己的问题:https://github.com/vuejs/vue-router/issues/704

我没有意识到这在Vue-router 2.0中已被弃用,有可能获得匹配的路线并在那里找到元。