यह एक है:
var limitTo = $filter('limitTo');
var lowercase = $filter('lowercase');
var translate = $filter('translate');
var filteredValue = limitTo(lowercase(translate('ACTIVE')), 5);
या यहां तक कि
var lowercaseStatus = lowercase(translate('ACTIVE'));
var filteredValue = limitTo(lowercaseStatus, 5);
एक और रणनीति को ध्यान में रखते रूप में एक ही वाक्य विन्यास का उपयोग करने के लिए किया जाएगा दिलचस्प सवाल है। आम तौर पर आप इस तरह या ऐसा ही कुछ कुछ करना होगा:
var translatedValue = $filter('translate')('ACTIVE');
var lowercaseValue = $filter('lowercase')(translatedValue);
$scope.finalValue = $filter('limitTo')(lowercaseValue, 5)
मैं 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;
}]);
प्रयोग इस
$scope.value = FilterChain.start('Active')
.applyFilter('translate')
.applyFilter('limitTo', [5])
.applyFilter('uppercase')
.value;
आप अन्य फिल्टर के साथ सेवा का उपयोग कर सकते की तरह है और सरणियों के रूप में ऐसी वस्तुओं। यहां एक कार्य उदाहरण देखें: JSFiddle
आपका प्रश्न वास्तव में क्या है? प्रश्न का उत्तर है: आप पहले ही नियंत्रक में एकाधिक फ़िल्टर का उपयोग कर रहे हैं। –
मैं एकाधिक फिल्टर @ जेबी निजेट का उपयोग कर रहा हूं। सरलीकृत प्रारूप मैं इससे चाहता हूं। –
इसी तरह: http://stackoverflow.com/questions/27852445/how-to-chain-angularjs-filters-in-controller – khakiout