Если я хочу изолировать службу в одном модуле, я должен создать один корневой компонент для модуля и использовать providers
на этом компоненте (as said docs).Угловая - где предоставлять услуги?
Если я использую providers
на модуле, услуга become application level. Таким образом, это способ предоставления услуг на уровне приложений (как это сделано в example).
Но в следующем, docs says:
Не указать приложение в масштабах поставщиков одноэлементные в общем модуле. Ленивый загруженный модуль, который импортирует этот общий модуль, сделает свою собственную копию этой услуги.
Таким образом, мы не должны использовать модули providers
для предоставления общих услуг. Итак, что мы должны использовать? AppModule providers
? Должны ли мы предоставлять все общие службы в AppModule? Когда мы должны использовать providers
функциональных модулей?
Похоже, поставщики модулей являются общими, но вы не должны использовать их как общие. WTF?
Привет, Гюнтер, можете ли вы представить пример того, как реализовать 'forRoot()'? Недавно я пытался играть с этим, но безуспешно. –
Если вы используете ленивый, то провайдеры модулей не должны использоваться, не так ли? Я хотел бы разработать архитектуру приложения с ленивыми модулями. Я не хочу разрабатывать приложение, которое работает только без ленивых модулей. Должен ли я всегда использовать forRoot для всех общих служб? И, как реализовать это тоже интересно. – Pavel
https://angular.io/docs/ts/latest/guide/ngmodule.html#!#core-for-root. показывает, как это сделать. Да, я думаю, вы должны использовать 'forRoot()' для всех глобальных поставщиков. –