Jest to interesujące pytanie. Zazwyczaj zrobiłbyś coś takiego albo coś takiego:
var translatedValue = $filter('translate')('ACTIVE');
var lowercaseValue = $filter('lowercase')(translatedValue);
$scope.finalValue = $filter('limitTo')(lowercaseValue, 5)
I stworzył usługę inspirowaną this answer.
app.service('FilterChain',
['$filter', function($filter) {
var chain = {
value : '',
start : function(value) {
this.value = value;
return this;
},
applyFilter : function(filterName, args) {
args = args || [];
args.unshift(this.value);
this.value = $filter(filterName).apply(undefined, args)
return this;
}
};
return chain;
}]);
Wykorzystanie jest jak ten
$scope.value = FilterChain.start('Active')
.applyFilter('translate')
.applyFilter('limitTo', [5])
.applyFilter('uppercase')
.value;
Można korzystać z usługi z innymi filtrami i obiekty, takie jak tablice. Zobacz działający przykład: JSFiddle
Jakie jest dokładnie twoje pytanie? Pytanie ma odpowiedź: już używasz wielu filtrów w kontrolerze. –
Używam wielu filtrów @JB Nizet. Uproszony format, którego chcę, niż to. –
podobny do: http://stackoverflow.com/questions/27852445/how-to-chain-angularjs-filters-in-controller – khakiout