2017-04-18 39 views
0

明確ではないparamsは私が状態を持っている:角度UI-ルータが

.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をクリアする方法は? HTMLで

+0

ブラウザの戻るボタンまたは「state.go」を使用して戻りますか? – Ladmerc

+0

コントローラの内部に再び入り、 '$ stateParams'を再割り当てします – tanmay

答えて

1

は、角度はシングルトンオブジェクトを作成しますので、あなたはクリアする必要があり状態を実行する前に

使用するようにしてください

// $ state.go(state、params、options);

$state.go("some_url", null, {reload:true}); 
+0

これはhtmlでどうやってやればいいのですか?:BACK' ''? – Arti

+0

更新された回答を確認する –

1

使用

$state.go("some_url", null, {reload:true}); 

あなたがそれを行うことができますUI-SREF-付き合えとパラメータ

<md-button ui-sref="some_url" ui-sref-opts="{reload: true}" >BACK</md-button> 

Reference

関連する問題