簡體   English   中英

無法從指令中選擇ngClass元素

[英]Cannot select ngClass element from directive

我使用angularjs ng-class directive添加類與ng-if ,並使用另一個模塊指令使用此類名稱對此元素執行某些操作,但在運行時它不工作指令找不到具有此類名的元素,當我硬編碼類名稱其工作,但從ng-class注入的類名不起作用。

<!-- 'A' not picking by directive -->
<div ng-class="{'myclass': item.isTrue}" ng-repeat="item in vm.list">...</div>

<-- 'B' working -->
<div class="myclass" ng-repeat="item in vm.list">...</div>

指示。

var tmp = $element[0].getElementsByClassName("myclass"); // not working with 'A' but fine  with 'B'

我猜這個directive調用的ng-class存在問題。 此外,類型class的指令使用較少,因為總是可以實現與attributeelement相同的指令。

我創建了一個演示ng-if我調用type attributeclassdirective ,如何使用相同的方法實現:

  1. 將其用作屬性
<div ng-repeat="item in data">
    <div>
      {{item.name}}
      <span ng-if="item.isTrue" myclass></span>
    </div>
</div>
  1. 用它作為
<div ng-repeat="item in data">
    <div>
      {{item.name}}
      <span ng-if="item.isTrue" class="myclass">
      </span>
    </div>
</div>    

它們的JS很常見,如下所示:

$scope.data = [{
    'id': 0,
    'name': 'Name 1',
    'isTrue': false
  }, {
    'id': 1,
    'name': 'Name 2',
    'isTrue': true
  }, {
    'id': 2,
    'name': 'Name 3',
    'isTrue': true
  }, {
    'id': 3,
    'name': 'Name 4',
    'isTrue': false
}];    

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM