子路由仍仅加载父组件

时间:2019-07-24 03:45:38

标签: laravel vue.js vuejs2 vue-router

因此,我正在尝试创建一个包含子路线的设置页面。例如,我想拥有/ settings / user,然后拥有/ settings / branches等。但是,每次我加载/ settings或其任何子路由时,它只显示父Settings组件。

这是我的routes.js文件

// Imports
import Vue from 'vue';
import VueRouter from 'vue-router';
import Store from './store';

// Set to use
Vue.use(VueRouter);

// Views
import Home from './views/Home/';
import UserIndex from './views/UserIndex';

// Grab Routes
import Settings from './routes/Settings'

// Create our routes
const routes = [
  {
    path: '/',
    name: 'home',
    component: Home,
  },
  {
    path: '/users',
    name: 'users.index',
    component: UserIndex,
  },
].concat(Settings);

这是我的Settings.js(稍后在我的主路径文件夹中与之联系)

// Routes for /Settings/
import Settings from '../views/Settings/';
import Branches from '../views/Settings/Branches';

const routes = [
  {
    path: '/settings',
    name: 'settings',
    component: Settings,
    children: [
      {
        name: 'branches',
        path:'branches',
        component: Branches
      }
    ]
  }
]
export default routes;

/views/settings/Branches.vue

<template>
    <div>
      <p>Branches page</p>
    </div>
</template>

<script>
  export default {
    components: {

    }
  }
</script>

/views/settings/index.vue

<template>
    <div>
      <p>settings page</p>
    </div>
</template>

<script>
  export default {
    components: {

    }
  }
</script>

1 个答案:

答案 0 :(得分:0)

只需在设置页面添加<router-view></router-view>,即可呈现自己的子级。然后,您可以通过/settings/branches链接导航到它。

Reference

<template>
    <div>
      <p>Settings page</p>
      <router-view></router-view>
    </div>
</template>