要显示在重定向页面中的成功警报不起作用

时间:2019-03-07 06:00:41

标签: angularjs angular-ui-router angular-directive

我想将成功消息从一个控制器发送到另一个控制器,并触发我的错误功能以显示我的成功消息。但是由于重定向而未显示成功消息。它在同一页面中有效,但在我要重定向时不起作用。需要帮助。 来自a.js tp b.js,我正在尝试这种情况

a.js

if(status == 0){
 $state.go('b');
 $rootScope.$emit('aSaySuccess');
}

b.htlml

<px-alert type="message.type" messages="message.content" 
red-warning="flag" modal="message.modal" modal="message.title"></px-alert>

b.Js

function openTheError() {
        $scope.flag = true;
        $scope.message = {
          content: [{
            title: '',
            msg: 'Succcess'
          }],
          type: 'success'
        };
        };

$rootScope.$on('aSaySuccess',function(){
          openTheError();
        });

1 个答案:

答案 0 :(得分:1)

  1. 您可以传递参数$state.go("b", { isSuccess: true });,如Sameer所评论。您可以使参数不显示在网址中。

  2. 状态go是异步的-但是它返回的promise会在发生过渡时解决。

$state.go('b').then(function() {
   $timeout(function() { $rootScope.$emit('aSaySuccess') }, 0); // Not sure but probably you need another timeout here
 });