我遵循文档中描述的基本路由设置,其中您有一个伞形组件,然后是多个子组件,这些子组件呈现到<slot>
伞形组件的一个中。
所以主x-layout
组件的 HTML 模板看起来有点像这样:
<vaadin-app-layout>
<slot></slot>
</vaadin-app-layout>
我的路线看起来有点像这样:
router.setRoutes([
{path: '/',
component: 'x-layout',
children: [
{path: '/users', component: 'x-user-list'},
{path: '/rooms', component: 'x-rooms-list'},
]
}
]);
与文档中的示例相反,我想在使用其根 URL('/')调用应用程序时立即加载其中一个子组件(例如,x-user-list),而无需用户从中选择链接一个导航栏左右。所以我需要一种从主组件自动调用路由的方法。我怎样才能做到这一点?
- 与我想为每个孩子保持不同路径的示例相反,所以这样的事情是行不通的:
{path: '/', component: 'x-navigation-layout', children: [{path: '/', component: 'x-user-list'}, ...]}
- 我不能
redirect
在路由设置中使用,因为它与component
加载伞组件所需的属性冲突。 onBeforeEnter
出于同样的原因,我不能在组件的事件处理程序中使用重定向,并且onAfterEnter
处理程序不允许重定向。- 我可以使用
Route.go()
静态方法进行导航,但是放在哪里呢?