$state.go()与$state.transitionTo()的区别

在完成跳转上级路由的时候,我发现项目中使用的是$state.transitionTo(),这与我之前所学的$state.go()有所不同,为此学习了一下他们两个的区别。

先讲一下这两个的相同点:携带着参数和配置值等状态信息调转到指定路由。

区别:为了方便,$state.go在内部调用了$state.transitionTointernally ,并且自动的添加了如下的配置参数
{ location: true, inherit: true, relative: $state.$current, notify: true }
方便你是要绝对路径或相对路径,并且配置相应的参数。

同时官方推荐使用$state.go

$state.go(to [, toParams] [, options])

$state.transitionTo(to, toParams [, options])

里面的三个参数分别是

to: 跳转到的路由

toParams:要携带的参数,存在$stateParams里面

options:对象,配置相应的跳转状态如reload

参考文档

推荐文章