alexcrack / angular-ui-notification

Angular.js service providing simple notifications using Bootstrap 3 styles with css transitions for animating
MIT License
536 stars 169 forks source link

Firing recent events when invoke Notification on an event listener #81

Open mogudy opened 8 years ago

mogudy commented 8 years ago

replay:

  1. setup click event listener: hahaha
  2. test Notification, perfectly worked
  3. setup event trigger: $rootScope.$emit && notifySuccess for hoho click event listener
  4. setup event listener:$rootScope.$on
  5. click hoho , event fired, click hahaha, event fired before Notification launch, strange?
  6. change event listener action from alert to Notification, guess what, infinite loop now!!!
  7. add destroy event listener just after the first event action, Notification itself worked again!
  8. SO, does Notification triggers existing events?
  9. Thank you for reading.

sample code:

controller.js

    $rootScope.$on('event:notify-success', function(event,data) {
        notifySuccess({message: JSON.stringify(data), delay: 1000});
        //$rootScope.$$listeners['event:notify-success'] = [];
    });

    function notifySuccess(data){
        //Notification.success({message: data, delay: 1000})
        alert(JSON.stringify(data));
    }

    $scope.hoho = function (){
        $rootScope.$emit('event:notify-success', '22222222');
    };

    $scope.hahaha = function (){
        Notification.success({message: 'test', delay: 1000})
    };

index.html

<body ng-controller="testCtrl">
<h1 ng-click="hahaha()">hahaha</h1>
<h1 ng-click="hoho()">hoho</h1>
</body>