javascript - AngularJS 指令 : How do I hide the alert using timeout?

标签 javascript angularjs angularjs-directive

我想要什么?

像任何其他应用程序一样,当警报出现时,它们会在一秒钟左右后隐藏,我试图找到一种方法来在一秒钟后隐藏警报,但不确定该怎么做

非常感谢任何帮助

更新

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

最佳答案

通常我会使用数组实现通知,将新通知推送到堆栈,然后设置 $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);
     }
  }
});

关于javascript - AngularJS 指令 : How do I hide the alert using timeout?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16824157/

相关文章:

javascript - 弹出数组元素,将其拆分并保存到不同的数组中

javascript - 值未在 then 语句内分配

javascript - 在特定列表项之后添加元素

javascript - AngularJs orderBy 很深的字段?

javascript - 返回 promise 后访问工厂服务

javascript - Angular Directive(指令) : communicating values to controller with ampersand methods

javascript - OpenLayers 3 删除功能不会从 map 中删除功能

angularjs - Angular 1.6.9 和 socket.io 聊天应用程序

javascript - 调用指令时 ng-repeat 不起作用

javascript - 在Angularjs中使用rest api上传图像