AngularJS: оповещения не отображаются, когда несколько сообщений меняют ngModel для сообщения

  • У меня есть служба уведомлений, которая хорошо работает, когда загружается страница и загружается контроллер.

  • Но когда у меня есть разные кнопки, вызывающие разные функции, они меняют сообщение, но предупреждения не появляются.

Вот плункер для этого - http://plnkr.co/edit/YioiJXNkaET6T2mexjCq?p=preview< /а>

Что мне нужно сделать, чтобы обновлять его всякий раз, когда $scope.message изменяется?


person daydreamer    schedule 29.05.2013    source источник


Ответы (1)


Вы можете $watch модель и показывать оповещение при ее изменении. http://plnkr.co/edit/fJuP9LWH4MNVV1cQs3ED?p=preview

В функции компоновщика вашей директивы:

link: function(scope, element, attrs) {
  scope.$watch('ngModel', function() {
    element.show();
    $timeout(function(){
      //element.empty();
      element.hide();
    }, 5000);
  });
}
person Tosh    schedule 30.05.2013
comment
Проблема с этим подходом заключается в том, что (относительно реализации plnkr) вы можете не получить предупреждение снова, если это необходимо. Как нам вернуть это? - person user2066540; 20.05.2015