notification directive
我想要什么?
与任何其他应用程序一样,当警报显示时,它们会在一秒左右后隐藏,我试图找到一种方法在一秒钟后隐藏警报,但不知道该怎么做
非常感谢任何帮助
更新
根据@ Derek的回答,我能够实现超时
http://plnkr.co/edit/uqSB1gIz6XEmJfC8zHNb?p=preview
答案 0 :(得分: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);
}
}
});
答案 1 :(得分:4)
我更新了@daydreamer创建的plunker,以显示多个警报并自动隐藏。如果有人想要自定义多个提醒,请查看此Plunker Link
一半的代码与@DerekR相同,我只对其进行了自定义
>>> re.sub(r'(^|\s)buzz(\s|$)', r'\1***\2', s)
'*** bar *** foobuzz ***'