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

Angular4 - Change state from component not template

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

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

我刚开始玩 Angular (4),我发现唯一的方法是如何从模板更改路线,例如:

有没有像 ui-router 中那样从组件更改路由的方法?

constructor(private router:Router) {}

changeRoute() {
  this.router.navigate(...)
  // this.router.navigateByUrl(...)
}

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

你可以像这样通过路由器导航

router.navigate([URL])

或者像这样

router.navigateByUrl('whole_string_containing_full_path')

这里的router是在constructor中创建的一个实例,首先从router中导入,这两者基本上没有区别

第一个接受数组,第二个接受字符串形式的 url。