Ich habe meine Richtlinie wie folgt definiert:Angular 1 benutzerdefinierte Richtlinie nicht ausführen
'use strict;'
angular.module('clientApp')
.directive('afterLast', ['$ocLazyLoad','$timeout',function($ocLazyLoad, $timeout){
console.log('entered directive');
return {
restrict: 'A',
link: function(scope, elem, attr){
if (scope.$last === true){
console.log('entered directive')
$timeout(function(){
$ocLazyLoad.load(['some files'])
})
}
}
}
}]);
Und ich benutze es als ein Attribut wie folgt:
<div ng-repeat="topicObject in module.topics track by $index" afterLast>
<div class="ft-section">
<div ng-repeat="learningPointObject in topicObject.learningPoints track by $index">
<div class="ft-page">
<h2 class="module-name" style="text-align: center;">{{module.name | capitalize:true}}</h2>
<h3 class="topic-name">{{topicObject.name | capitalize:true}}</h3>
<h4>{{learningPointObject.name | capitalize}}</h4>
<hr>
</div>
</div>
</div>
</div>
Aber meine Richtlinie wird nicht ausgeführt. Selbst die console.log-Anweisungen innerhalb und außerhalb der Link-Funktion funktionieren nicht. 1. Benutze ich Direktiven richtig? 2. Wenn ja, was könnten die Gründe dafür sein, dass es nicht funktioniert?
In dem HTML-Element, Ihre Richtlinie bezeichnet wird durch 'After-last', nicht' afterLast' – Phil
ja, das war es, was ich verpasst hatte. Danke :) –