vue项目,想在有两个router(页面)几乎差不多,于是我想要他们共用一个页面文件,处理为两个不同的路由指定相同的的component
外,还有其他办法吗?
1、假设我们页面有一部分相同,我们可以用子组件;
2、如果我们很多js代码相同,我们可以用mixins
;
像我说的这种情况呢?
vue项目,想在有两个router(页面)几乎差不多,于是我想要他们共用一个页面文件,处理为两个不同的路由指定相同的的component
外,还有其他办法吗?
1、假设我们页面有一部分相同,我们可以用子组件;
2、如果我们很多js代码相同,我们可以用mixins
;
像我说的这种情况呢?
路由的方式
// 伪代码
[{
path: '',
component: Layout,
// 可以配置Layout可接收的属性,来做一些定制
props: {},
children: [
{
path: '/',
component: Home
},
{
path: '/contact',
component: Contact
}
]
},
{
path: '/other',
component: Layout,
children: [
{
path: '/',
component: OtherChild
},
{
path: '/otherchild',
component: OtherChild2
}
]
}
]
还有一种方式就是自己做一个Wrapper组件,通过slot机制内部加载容器内的组件
4 回答3.3k 阅读✓ 已解决
2 回答4.9k 阅读✓ 已解决
4 回答4.5k 阅读✓ 已解决
4 回答2k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
4 回答2k 阅读✓ 已解决
在router配置路由时,用同一个组件名,在组件内部,根据router的path值计算出变量值,根据变量值做条件,来显示具体的不同的地方