首先,指令selector-child位于属性中的div元素中。
<div id="ed" selector-child> // selector-child attrs directive
<div class="testClass">Im no any directive</div>
<div class="listClass" ng-repeat="aa in aas">Im has ng-repeate directive{{aa.text}}</div>
</div>
然后,控制器中的 aas模型数据也被定义为。
最后,希望通过类名来搜索此列表中元素的ng-repeate指令。 结果显示是空的,但是找不到指令类名,为什么?解决???
myApp.directive('selectorChild', function () {
return {
restrict: "A",
link: function (scope,element,attr) {
console.log(element.find('.testClass'));
// can be found -> ouput [div.testClass]
console.log(element.find('.listClass'));
// no found -> ouput is empty[]
}
};
});
答案 0 :(得分:2)
您应该使用JQlite的querySelector
方法:
console.log(element[0].querySelector('.listClass'));
答案 1 :(得分:1)
尝试使用$timeout
允许在dom中生成ng-repeat
myApp.directive('selectorChild', function ($timeout) {
return {
restrict: "A",
link: function (scope,element,attr) {
$timeout(function(){
console.log(element.find('.listClass'));
});
}
};
});
作为替代方法,您可以向require
此指令的重复元素添加另一个指令,然后使用$last
子范围的ng-repeat
属性来执行您计划执行的操作< / p>