Що робить 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
Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.