我有一个州:
.state({
name: "some_url",
url: "/some",
templateUrl: "views/some.html",
controller: 'someCtrl',
params: {
someData: {
'mout': null,
}
}
})
然后在控制器中我改变它:
$scope.someData = $stateParams.someData;
$scope.someData['mykey'] = 2;
然后转到下一个网址:
$state.go("next_url");
如果我这样做,请在下一个网址中:
console.log($stateParams.someData)
我得到未定义哪个好。
但如果在此之后我会回到$state.go("some_url");
那么:
console.log($stateParams.someData)
告诉我:
{'mykey': 2}
如何清除stateParams
?
答案 0 :(得分:1)
使用
$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>
答案 1 :(得分:1)
Angular会创建一个单例对象,因此您必须在执行状态
之前清除它尝试使用
// $ state.go(state,params,options);
$state.go("some_url", null, {reload:true});