Как создать локальную переменную контроллера типа ng.IQService (private _q: ng.IQService;
) без ввода этого через контроллер? Я использую машинописные и угловые. Зачем мне это нужно? У меня есть устаревший код, который создает некоторые объекты этого типа контроллера внутри контроллера.Создать объект типа ng.IQService; без инъекции
0
A
ответ
2
без инъекций, что через контроллер
Вы можете как $injector
службы для него. Обратите внимание, что каждое угловое приложение имеет глобальную$injector
доступный как возврат из функции bootstrap
: https://docs.angularjs.org/guide/bootstrap
Таким образом, вы можете положить $injector
на глобальном месте (как window
), а затем использовать $injector.get('$q')
, чтобы ухватить $q
.
+0
Спасибо за это, это должно сработать! :) –
Но если вам это нужно, чтобы создать устаревшие контроллеры (через инъекции), почему бы не ввести его в контроллер, который затем можно использовать для ввода его в устаревший код? – Brocco