从其父级导航<router-outlet>

时间:2017-06-14 11:35:45

标签: angular typescript angular2-routing router-outlet

我试图将a组件中的te组件从其父组件中更改为活动组件。看看如何Ionic does it,我认为它应该与此类似(非常简化):

@Component({
    template: '<router-outlet></router-outlet>'
})
export class MyComponent {
    @ViewChild(RouterOutlet) router: RouterOutlet;

    foo() {
        this.router.navigate('/route');
    }
}

显然这不起作用。有没有办法做类似的事情?

提前谢谢!

1 个答案:

答案 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和网址列表。

相关问题