刚开始使用AngularJS。我想创建一个自我关闭的消息。我们怎么做?
基本上我试图产生类似于以下问题的结果:
How to Automatically Close Alerts using Twitter Bootstrap
但仅限AngularJS。
我通过数组使用以下代码。这不起作用。
$timeout(function () {
stack.push(messages.pop());
checkStack();
},5000);
答案 0 :(得分:2)
你绝对可以使用一个指令来实现类似的功能而根本不使用jquery。只需使用$ timeout函数。
app.directive('myAlert', function($timeout){
return {
scope: {
message: '@',
isVisible: '='
},
link: link,
restrict: 'E',
replace: true,
template: '<div ng-if="isVisible" class="alert">{{message}}</div>'
}
function link(scope, element, attrs){
scope.isVisible = true;
$timeout(function (){
scope.isVisible = false;
}, 5000);
}
});
看看这个plunker:http://plnkr.co/edit/2ApTMAHjvMsq8OE1cInB?p=preview