2017-02-24 18 views
0

私はangularjsアプリを開発中です。そのようなCRUDアプリ。以下はアプリの構造ですAngularjsのstate.goパラメータをクリアします

Home (List)  => "/#!/" 
--- Details page => "/#!/home/details/-KcXruMX3ia6rokeZjCJ" 
----- Edit page => "#!/home/edit/-KcXruMX3ia6rokeZjCJ" 

編集したページの後に私は次のように成功メッセージを表示して詳細ページにリダイレクトします。

$scope.msg = {type : "success","msg" : "User Updated"}; 
$state.go('home.details', { id : $scope.id, msg : $scope.msg }); 

このステップまでは問題ありませんが、他のユーザー/アイテムをクリックして詳細ページに移動しても問題はありません。以下は

私は一度それを使って、そのメッセージをクリアするにはどうすればよい私の詳細コントローラ

myApp.controller("detailsCtrl",[ 
     "$scope", 
     "$stateParams", 
    function(
     $scope, 
     $stateParams, 
    ){ 
    // msg variables receives its values from previous actions 
    $scope.msg = $stateParams.msg; 

}]); 

のですか?

+0

とき、詳細ページの読み込みができますを挙げることができるthrereその後、ui-srefを使用している場合あなたは '$ scope.msg = {}'を作成します。 –

+0

それから成功メッセージは表示されません。 –

+0

どのように詳細ページに移動しますか?あなたが 'ui-sref'を使っている場合は、' ui-sref = "詳細({msg: ''})" 'のような状態パラメタを提供することもできますし、状態パラメタをクリアしたい場合は、現在の状態に '$ state.go( '。'、{msg:undefined}); ' – Gaurav

答えて

2

あなたはまた、ui-sref="details({msg: ''})"のような状態のparamsを提供することができたり、状態のparamsをクリアしたい場合は、現在の状態に移行しているとき、あなたは$state.go('.', {msg: undefined});

関連する問題