4 javascript vue-router vuejs2
我正在创建一个单页面应用程序,我想将路由文件分隔为不同的文件
我在我的主要路由文件index.js中
export default new Router({
routes: [
{ path: '/', component: Hello },
{path :'/users', component: UsersContainerComponent,
children:[
{path :'', component: UsersComponent},
{path :'/create', component: UsersCreateComponent},
{path :'/update', component: UsersUpdateComponent},
]
},
Run Code Online (Sandbox Code Playgroud)
]})
现在我有其他功能,不仅包括用户,因此代码也变得庞大,我如何将用户的路由功能外包给另一个文件,而仅包括对主路由文件的引用
所以我怎么能做到这样
export default new Router({
routes:[
{path:'users', .....}// here load users routing in another file
]
})
Run Code Online (Sandbox Code Playgroud)
因为这将使代码更具可读性和可管理性。
小智 6
我喜欢disjfa解决方案: 让我们路由vue应用程序 组件路由
import People from '../views/People';
import Welcome from './../views/Welcome';
import Details from './../views/Details';
import Create from './../views/Create';
export default [
{
path: '/people',
name: 'people',
component: People,
title: 'People',
redirect: { name: 'people-welcome' },
children: [
{
path: 'welcome',
name: 'people-welcome',
component: Welcome,
},
{
path: 'create',
name: 'people-create',
component: Create,
},
{
path: ':id',
name: 'people-details',
component: Details,
},
],
},
];
Run Code Online (Sandbox Code Playgroud)
主要路线
import Vue from 'vue';
import Router from 'vue-router';
import Dashboard from '@/views/Dashboard';
import peopleRoutes from '@/modules/people/router';
Vue.use(Router);
const baseRoutes = [
...
];
const routes = baseRoutes.concat(peopleRoutes);
export default new Router({
routes,
});
Run Code Online (Sandbox Code Playgroud)
您可以将子级添加到主路线文件中的路线。
{
path: '/events',
component: eventspage,
children: eventroutes,
},
Run Code Online (Sandbox Code Playgroud)
在子路由组件中,您可以执行以下操作:
const eventroutes = [
{
path: '',
name: 'eventlist',
component: eventlist,
},
{
path: 'info/:id',
name: 'eventlist',
component: eventlist,
},
];
export default eventroutes;
Run Code Online (Sandbox Code Playgroud)
基本上,您可以直接取出子部件内的路线并将它们作为一个单独的文件。