如何避免在Vue中获取父路线数据

时间:2019-12-12 07:53:19

标签: vue.js vue-router

根据vue-router documentation嵌套路由的意思是使用另一个路由器视图插座来补充其父组件。简而言之:它是用于对子组件进行分组。每当直接访问此类子路由(例如通过刷新页面)时,所有父组件也会被呈现。

现在想象以下路线:

{
    path: 'users', component: require('UsersIndex.vue'),
    children: [
        { path: ':id', component: require('UserEdit.vue'), }
    ]
}

和UsersIndex.vue:

data() {
    return { users: [] }
},

created() {
    this.users = fetchUsers()
}

使用此模式,当直接访问UserEdit时,所有用户也将被提取,因为它是UsersIndex的子级。如何避免这种情况?

我想出了以下解决方案。它可以工作,但是我不确定这是否有效。感觉就像我是在对路径而不是对组件进行分组(因为children属性是为了……)

{
    path: 'users', component: { render: h => h('router-view') },
    children: [
        { path: '', component: require('UsersIndex.vue'), }
        { path: ':id', component: require('UserEdit.vue'), }
    ]
}

我期待您的建议和/或其他可能的解决方案!

0 个答案:

没有答案