Angularjs ui router更改url可以使用$state.go()。
$state.go()内部是使用$state.transitionTo()实现,默认设置了{ location: true, inherit: true, relative: $state.$current, notify: true } 参数。
$state.go
$state.go('stateName',params,{
// 防止onStart和onSuccess事件发生
notify:false,
// 防止重新加载当前状态
reload:false,
// 当更改参数时替换最后一条记录,所以不要按下后退按钮并获取旧的参数
location:'replace',
// 继承url上的当前参数
inherit:true
});
不需要重新加载当前状态示例
$state.go('stateName', {id: newId}, {notify: false,reload:false})