- 昨天,我开始为我的项目编写一个
通知指令
- 我在 stackoverflow 上问了问题 AngularJS: Alerts not showing up在努力通过文件和videos之后, 我能够构建一个基本的通知指令 http://plnkr.co/edit/uqSB1gIz6XEmJfC8zHNb?p=preview
我想要什么?
像任何其他应用程序一样,当警报出现时,它们会在一秒钟左右后隐藏,我试图找到一种方法来在一秒钟后隐藏警报,但不确定该怎么做
非常感谢任何帮助
更新
根据@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/