1
当路由变为“main”时,我有一个组件被加载。 我在其路由中定义了一个名为'测试'的子路由带路由器插座的角度2儿童路由
当路由设置为main/test时,我希望测试组件在主组件中加载。在主要组件内部,我有一个路由器插座来显示子组件。
这里是我的main.routes.ts:
import { Route } from '@angular/router';
import { MainComponent } from './main.component';
import { TestComponent } from './test/test.component';
import { SessionGuard } from '../../services/session/session.guard';
export const MainRoutes: Route[] = [
{
path: 'main',
component: MainComponent,
canActivate: [SessionGuard],
children: [
{ path: 'test', component: TestComponent }
]
}
];
在主要部件html的我:
Main
<router-outlet></router-outlet>
我得到的错误是: 不能匹配任何路由主/测试
按钮,触发路由变化:
<button type="button" class="btn btn-default" (click)="changeRoute('main/test');" >Test</button>
方法来改变路线:
changeRoute(route: string) {
event.stopPropagation();
this.router.navigate([route]);
}
感谢
你怎么重定向到测试?它是一个默认的子路由wihin maincomponent? – micronyks
是的,它是一个儿童组件。主要我有 router-outlet>。我使用一个按钮来重定向,也尝试只用地址栏。 –
Pete
那么请同时发布按钮的工作方式?你的代码是什么? – micronyks