2017-05-06 239 views
2

我有一個引導警報,看起來像這樣NG-點擊按鈕

<div id="errorAlert" class="alert col-md-6 col-md-offset-3 fadeAlert" ng-if="itemExistsAlert"> 
    <button type="button" class="close" data-dismiss="alert">&times;</button> 
    <p>{{alertMessage}}</p> 
</div> 

,我會添加/動態使用jQuery /角(代碼刪除類的第二次點擊只會火下面,當用戶不將任何值輸入文本,並單擊addItem按鈕)將只運行

的addItem按鈕:

<button ng-click="addItem()" class="btn btn-success" type="button">Add</button> 

功能,將手樂納克單擊

$scope.addItem = function() { 
    var errorAlert = angular.element(document.querySelector('#errorAlert')); 
    if (!$scope.pollItem) { 
     errorAlert.addClass('alert-info'); 

     $scope.alertMessage = "Item cannot be null"; 
     $scope.itemExistsAlert = true; 
     $timeout(function() { 
      $scope.itemExistsAlert = false; 
     }, 2000) 
     return; 
    } 
} 

的代碼運行良好addClass事件只會發生火災後,我會按一下按鈕兩次。我的意思是警報將會完全淡入/淡入淡出,但只有第一次點擊纔會添加該類,而第二次點擊按鈕時該類將被添加到警報中。

謝謝任何​​能夠幫助我的人。

+0

順便說一句,我使用的角度v1.6.4它是否會有所幫助。謝謝! –

回答

2

這是因爲NG-如果除去從DOM元素,您要添加一個類非exisiting元(還)在功能

要麼使用NG秀,而不是NG-IF的:

<div id="errorAlert" class="alert col-md-6 col-md-offset-3 fadeAlert" ng-show="itemExistsAlert"> 
<button type="button" class="close" data-dismiss="alert">&times;</button> 
<p>{{alertMessage}}</p> 
</div> 

,或者您可以使用納克級:

<div id="errorAlert" class="alert col-md-6 col-md-offset-3 fadeAlert" ng-class="{'alert-info':itemExistsAlert}" ng-if="itemExistsAlert"> 
<button type="button" class="close" data-dismiss="alert">&times;</button> 
<p>{{alertMessage}}</p> 
</div> 
+0

哦,我現在看到..所以這就是我做錯了的地方。無論如何,謝謝你非常感謝你的幫助! –