betrachte das folgende Beispiel:Warum läuft der AngularJS-Filter nur einmal?
angular.module('app', []).controller('TestController', function($scope) {
$scope.getText = function() {
console.log('getting text');
return 'text';
};
}).filter('text', function() {
return function() {
console.log('text filter');
return 'text';
};
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.2/angular.min.js"></script>
<div ng-app="app" ng-controller="TestController">
<p>{{getText()}}</p>
<p>{{'' | text}}</p>
</div>
bemerken, dass die Funktion getText()
zweimal ausgeführt wird, während der Filter nur einmal ausgeführt wird. Ich nehme an, dass die getText()
Funktion zweimal ausgeführt wird, um sicherzustellen, dass das Modell jetzt stabil ist. Warum nicht das gleiche Verhalten für den Filter?