У вашому прикладі немає різниці між провайдерами та viewProviders, оскільки шаблон HelloWorld не використовує <ng-content>
. Якщо ви проектували вміст всередині <ng-content>...</ng-content>
, тоді Greeter не міг бути введений у прогнозований вміст, оскільки ви використовуєте
viewProviders: [Greeter]
Якщо ви хотіли, щоб Greeter потенційно вводився у прогнозований вміст, ви б використали
providers: [Greeter]
Отже, viewProviders
обмежує постачальника дітьми, крім проектованого вмісту, і providers
дозволяє всім дітям користуватися постачальником. Цінність полягає в тому, що viewProviders
ви можете запобігти зіткненню проектованого вмісту з вашими послугами, що може бути особливо корисно в бібліотеках.