如何在AngularJS中创建自我关闭警报消息

时间:2014-02-13 16:28:35

标签: javascript angularjs

刚开始使用AngularJS。我想创建一个自我关闭的消息。我们怎么做?

基本上我试图产生类似于以下问题的结果:

How to Automatically Close Alerts using Twitter Bootstrap

但仅限AngularJS。

我通过数组使用以下代码。这不起作用。

 $timeout(function () {
        stack.push(messages.pop());
        checkStack();
    },5000);

1 个答案:

答案 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