Я новичок в 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 !';
});
Почему инъекции зависимость будет работать только на возвращаемой функции?
Я знаю, что я действительно смущен здесь. Если кто-нибудь может мне помочь, я буду очень благодарен, спасибо всем и у вас хороший день.
мы используем ту же функцию (.фильтр) с теми же параметрами => должна быть только одна реализация. Как угловой каркас может различаться между вашим первым случаем и вашим вторым случаем? –
Если бы было что-то подобное, было бы две разные функции, похожие на то, что у нас есть '.factory' и' .service' –
Можете ли вы помочь мне понять, почему angularjs требуют 2 функции для использования инъекции зависимостей? –