Własny filtr Angularjs i wtrysk zależności
Jestem nowym użytkownikiem AngularJS i często widzę tę składnię:
function someFunc(){
return function(input){
return 'hello' + input;
}
}
Powyższa funkcja jest ogólną składnią, którą często widzę, ale problem jest specyficzny w tym przykładzie dla niestandardowego filtru:
angular.module('bookFilters', [])
.filter('newBookFilter', function(){
return function(input){
return 'The Book: ' + input.name + 'is new !';
};
});
Rozumiem, że zawijanie funkcji inną funkcją daje mi możliwość użycia wtrysku zależności. Oto moje pytania na ten temat:
Czy filtr zwraca funkcję z funkcji zawijania? Czy jest zatem w stanie użyć wtrysku zależności, aby wprowadzić wartość do funkcji?Teoretycznie:
Ten kod:
{{bookObj | newBookFilter}}
Stanie się:
{{ bookObj | function(input){return 'The Book: ' + input.name + 'is new !'; } }}
I wreszcie{{}}
zwróci końcową wartość z funkcji.
Dlaczego nie mogę po prostu wstrzyknąćinput
do pierwszej funkcji, takiej jak:
angular.module('bookFilters', [])
.filter('newBookFilter', function(input){
return 'The Book: ' + input.name + 'is new !';
});
Dlaczego wstrzykiwanie zależności działa tylko na zwróconej funkcji?
Wiem, że tu naprawdę jestem zdezorientowany, jeśli ktoś może mi pomóc, będę bardzo wdzięczny, dziękuję wszystkim i życzę miłego dnia.