2017-05-06 234 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

哦,我现在看到..所以这就是我做错了的地方。无论如何,谢谢你非常感谢你的帮助! –