2015-11-23 1 views
1

Я создаю приложение Angular2, в котором мне нужно загружать из множества различных сервисов, а он загружает подпрограммы. Было бы идеально, если бы я мог динамически добавлять Сервис в область приложения во время выполнения, то есть после загрузки, но я изо всех сил пытаюсь найти практический метод.Добавить службу в область приложения post bootstrapping Ng2

Все указатели будут высоко оценили

ответ

0

Служба только экземпляр, когда компонент, который зависит от него инстанциируется - так что в этом смысле они создаются динамически и нет процесс начальной загрузки, который предварительно создает все службы в вашем приложении. Я не могу представить себе сценарий, в котором компонент не будет знать его зависимости, поэтому, если вы напишете свои компоненты с зависимостями служб, как обычно, Angular2 позаботится о создании этих служб, когда они понадобятся.

Также способ работы областей в Angular2 отличается от Angular.js. Я не совсем уверен, что вы подразумеваете под областью применения в этом контексте. В конце концов, сервисы - это просто классы, которые создаются инжектором, и вы можете либо получить фреймворк для их ввода для вас, либо получить доступ к инжектору напрямую, если вам это нужно (import {injector} from 'angular2/angular2') или создать экземпляр класса самостоятельно с помощью new() - но это побеждает цель инъекции зависимостей, которая заключается в том, чтобы удалить ответственность за создание зависимостей в структуре.