Angular4 - 从组件而不是模板更改状态

And*_*rit 4 router angular4 angular

在AngularJS中,我使用ui-router重定向我的应用程序内部(更改状态).

它有2个可能的重定向选项

  • 在模板中 ui-sref='stateName'
  • 在控制器中 $state.go()

我刚刚开始玩Angular(4),我发现只有这样才能改变模板中的路径:

  • 模板 routerLink="routePath"

是否存在某种方式,因为在ui-router中有从组件改变路由的方式?

Gün*_*uer 6

constructor(private router:Router) {}

changeRoute() {
  this.router.navigate(...)
  // this.router.navigateByUrl(...)
}
Run Code Online (Sandbox Code Playgroud)

另见https://angular.io/docs/ts/latest/api/router/index/Router-class.html