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

时间:2017-03-27 11:56:29

标签: angular router angular4

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

它有两个可能的选项来重定向

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

我刚刚开始使用Angular(4),我发现只有如何通过以下方式更改模板路径:

  • 模板routerLink="routePath"

ui-router是否有某种方法可以改变组件的路由?

2 个答案:

答案 0 :(得分:6)

constructor(private router:Router) {}

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

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

答案 1 :(得分:1)

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

router.navigate([URL])

或者像这样

router.navigateByUrl('whole_string_containing_full_path')

这里路由器是在构造函数中创建的实例,它首先从路由器导入,基本上这两者没有区别

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