首页 > 关于angular在指令中无法获取子元素的问题!

关于angular在指令中无法获取子元素的问题!

首先,指令selector-child以属性的方式在div元素中

<div id="ed" selector-child>
    <div class="testClass">我是没有任何指令的</div>
    <div class="listClass" ng-repeat="aa in aas">{{aa.text}}</div>有ng-repeate指令
</div>

然后,控制器中也定义了aas的模型数据。
最后,想通过类名来查找具有ng-repeate指令的的元素列表,结果显示为空没有指令的类名却可以查到,为什么,求解????

myApp.directive('selectorChild', function () {
        return {
            restrict: "A",
            link: function (scope,element,attr) {
             console.log(element.find('.testClass'));
              // 可以找到没有任何指令的子元素->输出结果[div.testClass]
             console.log(element.find('.listClass'));
              // 在有ng-repeat指令的子元素却找不到,结果为空
            }
        };
    });

这里我写了个例子
原因:ng-class="listClass"这里的listClass不是个字符串,是个变量。你需要在controller中定义下这个变量。

$scope.listClass="listClass"
  .listClass{
    color:red;
  }

检查方法:渲染出来后,检查元素,会有class属性,而不是只有ng-class。

【热门文章】
【热门文章】