StackOverflow_24056331: initialising-function-in-angular-filter
Illustration of answer to http://stackoverflow.com/questions/24056331/initialising-function-in-angular-filter.
by ExpertSystem
HTML
<script src="http://code.angularjs.org/1.2.16/angular.min.js"></script>
<div ng-controller="myCtrl">
<div ng-repeat="letter in letters">{{letter}} => {{letter | myFilter}}</div>
</div>
JavaScript
var app = angular.module('myApp', []);
app.controller('myCtrl', function ($scope) {
$scope.letters = 'abc'.split('');
});
app.filter("myFilter", function() {
var staticFilterSpecificData = {
"a": "letterA",
"b": "letterB"
};
console.log('Initialized only once !');
return function(letter) {
return staticFilterSpecificData[letter] || 'unknown';
};
});