2013-09-26 3 views
0

Я пытаюсь разрешить сервис программно в угловых js из определенного модуля, но я не могу найти правильный способ сделать это.Устранение проблемы с программным обеспечением в AngularJs

Я знаю, используя angular.injector (['NameOfModule']). Get ('NameOfService') Я могу получить услугу. Однако использование углового инжектора не извлекает инжектор данного модуля и вместо этого создает новый инжектор. Это означает, что когда он извлекает услугу, так как это новый инжектор, он не кэширует службу и поэтому создает новую. Это означает, что у меня будет несколько одинаковых услуг, и поэтому он больше не будет синглом, что, очевидно, вызовет проблемы.

Что я, по сути, хочу сделать, это извлечь инжектор из определенного модуля, чтобы я мог попытаться извлечь (кэшированную или не кэшированную) службу из этого инжектора. Кто-нибудь знает, как добиться этого?

ответ

1

Что бы я хотел сказать, это ввести инжекторную службу $ в контроллер \ службу, где вы хотите ее использовать. Это вернет инжектор, который приложение использует, а не создает новый инжектор как угловой.инъектор. См. Подробное объяснение в этом сообщении СО Can't retrieve the injector from angular

Смежные вопросы