Vue Router 中组件的条件导入
Conditional importing of components in Vue Router
我有这个问题,我想在同一条路线上导入不同的组件。
这个很好用
import Mycomponent from '@/views/Mycomponent'
{
name: 'My component name',
path: somepath,
component: Mycomponent,
}
这行不通
import Mycomponent from '@/views/Mycomponent'
import MycomponentDifferent from '@/views/MycomponentDifferent'
{
name: 'My component name',
path: somepath,
component: () => {
if(true) {
console.log(Mycomponent) // You can see in console whole component
return Mycomponent
} else {
return MycomponentDifferent
}
}
}
这也行不通
import Mycomponent from '@/views/Mycomponent'
{
name: 'My component name',
path: somepath,
component: () => {
return HomepageView
}
}
是否在某个地方记录了您可以使用 component
的函数?
您可以使用 getter:
而不是函数
import Mycomponent from '@/views/Mycomponent'
import MycomponentDifferent from '@/views/MycomponentDifferent'
{
name: 'My component name',
path: somepath,
get component() {
if(true) {
console.log(Mycomponent) // You can see in console whole component
return Mycomponent
} else {
return MycomponentDifferent
}
}
}
我有这个问题,我想在同一条路线上导入不同的组件。
这个很好用
import Mycomponent from '@/views/Mycomponent'
{
name: 'My component name',
path: somepath,
component: Mycomponent,
}
这行不通
import Mycomponent from '@/views/Mycomponent'
import MycomponentDifferent from '@/views/MycomponentDifferent'
{
name: 'My component name',
path: somepath,
component: () => {
if(true) {
console.log(Mycomponent) // You can see in console whole component
return Mycomponent
} else {
return MycomponentDifferent
}
}
}
这也行不通
import Mycomponent from '@/views/Mycomponent'
{
name: 'My component name',
path: somepath,
component: () => {
return HomepageView
}
}
是否在某个地方记录了您可以使用 component
的函数?
您可以使用 getter:
import Mycomponent from '@/views/Mycomponent'
import MycomponentDifferent from '@/views/MycomponentDifferent'
{
name: 'My component name',
path: somepath,
get component() {
if(true) {
console.log(Mycomponent) // You can see in console whole component
return Mycomponent
} else {
return MycomponentDifferent
}
}
}