9

Ich versuche $ letzte Eigenschaft zu erfassen, die benachrichtigt werden soll, wenn ng-repeat beendet wird. Ich habe spezielle Anweisungen dafür erstellt (ngRepeatDoneNotification). Ng-Wiederholung gilt für eine andere Elementrichtlinie (Einheit). So gibt es eine Konstruktion mit drei Richtlinien:

<unit ng-repeat="unit in collection" ng-repeat-done-notification id="{{unit.id}}"></unit> 

Sobald ich gesetzt Rahmen isoliert werden, $ zuletzt in meiner Notifier Richtlinie verschwunden.

App.directive('ngRepeatDoneNotification', function() { 
    return function(scope, element, attrs) { 
    if (scope.$last){ // ISSUE IS HERE 
     window.alert("im the last!"); 
    } 
    }; 
}); 

App.directive('unit', function() { 
    return { 
    restrict: 'E', 
    replace: true, 
    scope: {id: '@'}, // ONCE I ISOLATE SCOPE, $last DISAPPEARED 
    templateUrl: '/partials/unit.html', 
    link: function(scope, element) {} 
    } 
}); 

Ich habe erstellen jsFiddle http://jsfiddle.net/4erLA/1/

Wie ist es möglich, diese zu fangen?

+0

Ich glaube nicht, dass Sie ein dynamisches Attribut 'id' haben können. – finishingmove

Antwort

11

Um die isoliert Umfang zu machen $last zu fangen, müssen Sie $parent verwenden, um den übergeordneten Bereich zu verweisen wie dieser

if (scope.$parent.$last) { 
    $rootScope[attrs.ngRepeatDoneNotification] = "$last has been catched" 
} 

Sie es Refactoring kann es für beide Szenario funktioniert oder nur dupliziere es einfach.

+0

danke, gibt es eine Möglichkeit zu erkennen, aktuelle Umfang ist isoliert, in der Lage zu tun ngRepeatDoneNotification funktioniert in jedem Fall? Ich habe den Bereich gefunden. $$ isolateBindings, aber es hilft nur im Fallbereich, der mit nicht leerem Hash definiert ist. – acidron

+0

@acidron Das ist eine gute Frage. Ich weiß es nicht, aber Sie können versuchen, zu überprüfen, ob 'scope. $ Parent. $ Parent' null ist, wenn es null ist, dann sollte es direkt innerhalb des Bereichs des Controllers sein, wenn es nicht in einer anderen Ebene von sein sollte Umfang. – zsong

Verwandte Themen