AngularJS指令:如何使用超时隐藏警报?

day*_*mer 13 javascript angularjs angularjs-directive

我想要的是?

像任何其他应用程序一样,当警报显示时,它们会在一秒左右后隐藏,我试图找到一种方法在一秒钟后隐藏警报,但不知道如何做到这一点

任何帮助是极大的赞赏

UPDATE

根据@ Derek的回答,我能够实现超时
http://plnkr.co/edit/uqSB1gIz6XEmJfC8zHNb?p=preview

Der*_*ekR 29

通常我会用数组实现通知,将新通知推送到堆栈,然后设置$ timeout,从数组中删除该特定元素.在渲染方面,您只需使用ng-repeater.

但是在您的情况下,如果您想保留现有指令,则可以通过添加链接函数并设置$ timeout来删除元素来完成此功能.

app.directive('notification', function($timeout){
  return {
     restrict: 'E',
     replace: true,
     scope: {
         ngModel: '='
     },
     template: '<div class="alert fade" bs-alert="ngModel"></div>',
     link: function(scope, element, attrs){
         $timeout(function(){
             element.remove();
         }, 5000);
     }
  }
});
Run Code Online (Sandbox Code Playgroud)