In Ihrem Beispiel gibt es keinen Unterschied zwischen Anbietern und viewProvidern, da die Vorlage von HelloWorld nicht verwendet wird <ng-content>. Wenn Sie Inhalte innerhalb projiziert haben <ng-content>...</ng-content>, konnte Greeter nicht in die projizierten Inhalte eingefügt werden, da Sie diese verwenden
viewProviders: [Greeter]
Wenn Sie möchten, dass Greeter möglicherweise in den projizierten Inhalt eingefügt wird, würden Sie verwenden
providers: [Greeter]
So viewProvidersbegrenzt die Anbieter auf Kinder andere als projizierte Inhalt, während providersalle Kinder ermöglicht es dem Anbieter zu verwenden. Der Wert besteht darin, viewProvidersdass Sie verhindern können, dass projizierte Inhalte mit Ihren Diensten in Konflikt geraten, was insbesondere in Bibliotheken nützlich sein kann.