Недавно я наткнулся на викторину, и вопрос
Decorators use
Select one:
a. Both
b. $delegate
c. None
d. $provide
Я выбираю b.$delegate, и викторина говорит, что это неправильно, и викторина говорит, что правильный ответ — a.Both.
Поэтому мне было интересно, правда ли это, я думал, что декораторы находятся внутри провайдера, то есть они являются службой, которая вызывается провайдером, и они могут использовать $delegate, как в этом примере.
app.config(function ($provide) {
$provide.decorator('movieTitle', function ($delegate) {
return $delegate + ' - starring Keanu Reeves';
});
});
кроме того, в документации по декоратору указано, что
Эта функция будет вызываться, когда необходимо создать экземпляр службы, и должна возвращать оформленный экземпляр службы. Функция вызывается методом инжектора.invoke и, следовательно, является полностью инжектируемой. Аргументы локальной инъекции:
$delegate — исходный экземпляр службы, который может быть исправлен, настроен, декорирован или делегирован.
Итак, я что-то упустил, или тест неправильный, или я ошибаюсь, может кто-нибудь, пожалуйста, помогите мне понять это.