Vue路由器继承父属性

wou*_*_be 5 javascript angularjs vue.js

我还很陌生,vue.js目前正在尝试设置不同的路线。我使用的是子路由,因为“已登录”用户的UI与访问者的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
            }
        ]
    }
]
Run Code Online (Sandbox Code Playgroud)

在此过程中,我想知道为什么子路线不会接管父母的meta财产。我是否需要将分配meta.auth给每个子路线?还是有什么方法可以继承这个?

本质上router.beforeEach,我想检查用户是否通过了正确的身份验证。但仅在/user

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

wou*_*_be 6

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

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