В каком сценарии ViewProviders будет полезен в Angular? - PullRequest
0 голосов
/ 04 июля 2019

Вот как выглядит дерево внедрения зависимостей при использовании viewProvider.

dependency

Насколько я понимаю: если у меня SimpleService в поставщикахв ngModule и в то же время SimpleService в viewProviders в ParentComponent:

Когда представление дочернего компонента (которое было введено через ng-content) запрашивает зависимость, оно переходит непосредственно к *Поставщики 1015 * вместо родителей.

Следовательно, все родительские компоненты (и их представления, которые не были введены ng-content) будут иметь отдельный новый экземпляр SimpleService для себя, но представления, которые были внедрены через ng-content, будут иметь синглтонсреди них есть общий экземпляр, предоставленный NgModule.

Для всех Компонентов (Родительский Компонент), которые имеют SimpleService в своих viewProviders, они и их Представления (не внедряемые через ng-контент) будут иметь отдельный экземпляр SimpleService.

ParentComponent1-->SimpleServiceInstance1
ParentComponent1's View-->SimpleServiceInstance1

ParentComponent2-->SimpleServiceInstance2
ParentComponent2's View-->SimpleServiceInstance2

ParentComponent3-->SimpleServiceInstance3
ParentComponent3's View(injected via ng-content) -->SimpleServiceInstanceFromNgModuleWhichIsSingleton

ParentComponent4-->SimpleServiceInstance4
ParentComponent4's View(injected via ng-content) -->SimpleServiceInstanceFromNgModuleWhichIsSingleton

Правильно ли мое понимание?Если да, то в каком реальном сценарии вы бы использовали viewProvider?Мне нужен реальный пример.

...