在完成跳转上级路由的时候,我发现项目中使用的是$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