4

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

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

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

我刚开始玩 Angular (4),我找到了如何从模板更改路由的唯一方法,例如:

  • 模板routerLink="routePath"

ui-router 中有什么方法可以从组件更改路由吗?

4

2 回答 2

6
constructor(private router:Router) {}

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

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

于 2017-03-27T11:58:41.327 回答
1

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

router.navigate([URL])

或者像这样

router.navigateByUrl('whole_string_containing_full_path')

这里的router是在构造函数中创建的一个实例,是先从router中导入的,这两者基本没有区别

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

于 2017-03-27T11:59:40.260 回答