2014-02-13 69 views
1

剛開始使用AngularJS。我想創建一個自我關閉的消息。我們如何做到這一點?如何在AngularJS中創建自我關閉警報消息

基本上我試圖產生類似以下問題的結果:

How to Automatically Close Alerts using Twitter Bootstrap

但只有AngularJS。

我通過數組使用下面的代碼。這是行不通的。

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

我在看這個,現在卻好像太多了。也許有一個更容易(即更純粹的方式!)https://github.com/DerekRies/Angular-Notifications – InCode

+1

你是否正在創建自己的消息框?如果是這樣,爲消息框和鏈接函數創建一個指令,使用$ timeout服務關閉它。 –

+0

當時間結束時,http://docs.angularjs.org/api/ng.$timeout的簡單指令從dom中刪除警報 – Whisher

回答

2

你完全可以使用指令來實現類似的功能,而無需使用jQuery。只需使用$超時功能。

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