ng-yineleme bittiğinde bildirilmek üzere son özellik yakalamaya çalışıyorum. Bunun için özel bir direktif oluşturdum (ngRepeatDoneNotification). Ng-tekrarı başka bir eleman direktifine uygulanır (ünite).
<unit ng-repeat="unit in collection" ng-repeat-done-notification id="{{unit.id}}"></unit>
Ben izole edilmesi için kapsamı ayarladıktan sonra
$, geçen zaman notifier yönergede kayboldu: Yani, üç direktifleri bir inşaat var. Mümkünse bu yakalamak için nasılApp.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) {}
}
});
Ben jsFiddle http://jsfiddle.net/4erLA/1/
oluşturmak ettik? izole kapsamı Bunu senaryo ya da sadece ikisi için çalışmasını sağlamak için refactor olabilir bu
if (scope.$parent.$last) {
$rootScope[attrs.ngRepeatDoneNotification] = "$last has been catched"
}
gibi ana kapsamı başvurmak için $parent
kullanmak gerekir, $last
yakalamak yapabilmek için
Bunun gibi bir dinamik 'id' özniteliğine sahip olabileceğinizi düşünmüyorum. – finishingmove