Я новичок в AngularJS, и я вижу этот синтаксис много:
function someFunc(){
return function(input){
return 'hello' + input;
}
}
Вышеприведенная функция является общим синтаксисом. Я часто вижу много, но проблема специфична в этом примере для настраиваемого фильтра:
angular.module('bookFilters', [])
.filter('newBookFilter', function(){
return function(input){
return 'The Book: ' + input.name + 'is new !';
};
});
Я понимаю, что перенос функции с помощью другой функции дает мне возможность использовать инъекцию зависимостей. Вот мои вопросы:
Получает ли фильтр функцию, возвращаемую из функции обертки? Тогда можно ли использовать инъекцию зависимостей для ввода значения в функцию? Теоретически это:
Этот код:
{{bookObj | newBookFilter}}
Станет:
{{ bookObj | function(input){return 'The Book: ' + input.name + 'is new !'; } }}
И, наконец, {{}}
вернет окончательное значение из функции.
Почему я не могу просто ввести input
в первую функцию, например:
angular.module('bookFilters', [])
.filter('newBookFilter', function(input){
return 'The Book: ' + input.name + 'is new !';
});
Почему инъекция зависимостей будет работать только с возвращенной функцией?
Я знаю, что я действительно запутался здесь. Если кто-нибудь может мне помочь, я буду очень благодарен, спасибо всем и у вас хороший день.