我试图将a组件中的te组件从其父组件中更改为活动组件。看看如何Ionic does it,我认为它应该与此类似(非常简化):
@Component({
template: '<router-outlet></router-outlet>'
})
export class MyComponent {
@ViewChild(RouterOutlet) router: RouterOutlet;
foo() {
this.router.navigate('/route');
}
}
显然这不起作用。有没有办法做类似的事情?
提前谢谢!
答案 0 :(得分:3)
而不是@ViewChild(RouterOutlet) router: RouterOutlet;
,您应该将其注入组件的构造函数中。而不是使用RouterOutlet
,而是使用Router
。您的组件将如下所示:
@Component({
template: '<router-outlet></router-outlet>'
})
export class MyComponent {
constructor(router: Router) {}
foo() {
this.router.navigateByUrl('/route');
}
}
此外,您还需要确保已在应用模块中添加了RouterModule
和网址列表。