2015-05-11 2 views
0

Как создать локальную переменную контроллера типа ng.IQService (private _q: ng.IQService;) без ввода этого через контроллер? Я использую машинописные и угловые. Зачем мне это нужно? У меня есть устаревший код, который создает некоторые объекты этого типа контроллера внутри контроллера.Создать объект типа ng.IQService; без инъекции

+0

Но если вам это нужно, чтобы создать устаревшие контроллеры (через инъекции), почему бы не ввести его в контроллер, который затем можно использовать для ввода его в устаревший код? – Brocco

ответ

2

без инъекций, что через контроллер

Вы можете как $injector службы для него. Обратите внимание, что каждое угловое приложение имеет глобальную$injector доступный как возврат из функции bootstrap: https://docs.angularjs.org/guide/bootstrap

Таким образом, вы можете положить $injector на глобальном месте (как window), а затем использовать $injector.get('$q'), чтобы ухватить $q.

+0

Спасибо за это, это должно сработать! :) –