Пользовательский фильтр Angularjs и внедрение зависимостей
Я новичок в 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 !';
});
Почему внедрение зависимостей будет работать только для возвращаемой функции?
Я знаю, что я действительно сбит с толку, Если кто-то может мне помочь, я буду очень благодарен, Спасибо всем и хорошего дня.