2017-02-24 90 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

當細節頁面加載可你使'$ scope.msg = {}' –

+0

然後它不會顯示成功消息。 –

+0

你如何去詳細信息頁面?如果你正在使用'ui-sref',那麼你也可以提供像'ui-sref ='details({msg:''})''''''''''或者如果你想清除狀態參數的狀態參數,當你正在轉換進入當前狀態,你可以提到'$ state.go('。',{msg:undefined});' – Gaurav

回答

2

如果您正在使用ui-sref然後threre您也可以提供狀態PARAMS像ui-sref="details({msg: ''})"或者如果你想清除的狀態參數,可以當你轉變爲目前的狀態,你可以提$state.go('.', {msg: undefined});