Filtro personalizado Angularjs e injeção de dependência
Eu sou novo no AngularJS e vejo muito essa sintaxe:
function someFunc(){
return function(input){
return 'hello' + input;
}
}
A função acima é uma sintaxe geral que eu costumo ver muito, mas o problema é específico neste exemplo para o filtro personalizado:
angular.module('bookFilters', [])
.filter('newBookFilter', function(){
return function(input){
return 'The Book: ' + input.name + 'is new !';
};
});
Entendo que agrupar a função com outra função me dá a oportunidade de usar a injeção de dependência. Aqui estão minhas perguntas:
O filtro obtém a função retornada da função de quebra automática? Então, ele é capaz de usar injeção de dependência para injetar o valor na função?Teoricamente, que:
Este código:
{{bookObj | newBookFilter}}
Se tornará:
{{ bookObj | function(input){return 'The Book: ' + input.name + 'is new !'; } }}
E finalmente o{{}}
retornará o valor final da função.
Por que não posso simplesmente injetar oinput
para a primeira função como:
angular.module('bookFilters', [])
.filter('newBookFilter', function(input){
return 'The Book: ' + input.name + 'is new !';
});
Por que a injeção de dependência funcionará apenas na função retornada?
Sei que estou realmente confuso aqui, se alguém puder me ajudar ficarei muito agradecido, obrigado a todos e tenham um bom dia.