3

我正在尝试构建一个在嵌套ng-repeat完成渲染后运行的指令。这是我尝试过的(小提琴)

的HTML:

<div ng-app="MyApp" ng-controller="MyCtrl">
    <ul my-directive>
        <li ng-repeat="animal in animals">{{animal}}</li>
    </ul>
</div>

和 JavaScript:

angular.module("MyApp", [])
    .directive("myDirective", function () {
        return function(scope, element, attrs) {
            alert(element.find("li").length); // 0
        };
    });

function MyCtrl($scope) {
    $scope.animals = ["Dog", "Cat", "Elephant"];
}

我的自定义指令中的链接功能在所有<li>元素都被渲染(并被0警告)之前运行。ng-repeat渲染完成后如何运行代码?

4

1 回答 1

3

您可以在 ng-repeat 中移动指令,http://jsfiddle.net/ZTMex/3/

<div ng-app="MyApp" ng-controller="MyCtrl">
    <ul>
        <li ng-repeat="animal in animals" my-directive>{{animal}}</li>
    </ul>
</div>

或查看与您的问题相关的https://stackoverflow.com/a/13472605/1986890 。

于 2013-01-26T23:10:15.050 回答