Skip to main content

Що робить multi-provider?

Multi-provider дозволяє зареєструвати кілька значень під одним і тим самим токеном. Angular при цьому не замінює старі значення, а збирає їх у масив.


Приклад:

ts
providers: [ { provide: 'LOGGERS', useValue: 'console', multi: true }, { provide: 'LOGGERS', useValue: 'file', multi: true }, { provide: 'LOGGERS', useValue: 'cloud', multi: true } ]

Тепер якщо впровадити 'LOGGERS':

ts
constructor(@Inject('LOGGERS') loggers: string[]) { console.log(loggers); // ['console', 'file', 'cloud'] }

Коли використовують:

  • для налаштувань і плагінів, де потрібно зібрати список обробників;
  • коли кілька модулів додають свої дані до одного токена;
  • щоб легко розширювати систему без переписування коду.

Підсумок: multi: true каже Angular:

«Не заміняй старе значення - додай нове до цього токена, і віддай усе як масив.»

Коротка відповідь

Для співбесіди
Premium

Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.