清除Angularjs state.go参数

时间:2017-02-24 18:33:01

标签: javascript angularjs angular-ui-router

我正在开发angularjs app。它就像CRUD应用程序。以下是应用结构

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;

}]);

如何使用它一次清除该消息?

1 个答案:

答案 0 :(得分:2)

如果你正在使用ui-sref那么你也可以提供像ui-sref="details({msg: ''})"这样的状态参数,或者如果你想清除状态参数,当你转换到当前状态时你可以提到{{1 }}