我有一个状态:
.state({
name: "some_url",
url: "/some",
templateUrl: "views/some.html",
controller: 'someCtrl',
params: {
someData: {
'mout': null,
}
}
})
然后在控制器中我更改它:
$scope.someData = $stateParams.someData;
$scope.someData['mykey'] = 2;
然后转到下一个URL:
$state.go("next_url");
以及下一个URL,如果我这样做:
console.log($stateParams.someData)
我得到不确定的,这还可以。
但是,如果此后我会回到$state.go("some_url");
,则:
console.log($stateParams.someData)
向我展示:
{'mykey': 2}
如何清除stateParams
?
Angular创建一个单元对象,因此您必须在执行状态之前清除
尝试使用
//$ state.go(state,params,options(;
$state.go("some_url", null, {reload:true});
使用
$state.go("some_url", null, {reload:true});
在HTML中,您可以使用 ui-sref-opts 参数
<md-button ui-sref="some_url" ui-sref-opts="{reload: true}" >BACK</md-button>
参考