Я сталкиваюсь с проблемой при попытке вручную использовать angular.injector для внедрения службы, которая открывает диалог, который, в свою очередь, использует внутри своего шаблона директиву, которая использует динамический шаблон.
Ошибки, которые у меня есть в консоли:
1: Неизвестный провайдер: $rootElementProvider ‹- $rootElement ‹- $location ‹- $anchorScroll ‹- ngIncludeDirective ‹- $location
2: Контроллер ngInclude, требуемый директивой ngInclude, не найден!
Вот плункер, демонстрирующий проблему
var customSvc = angular.injector(['ng', 'pluginApp']).get("customSvc");
customSvc.testOpenDialog(100, scope);
Я также попытался создать URL-адрес и указать его как атрибут директивы и получить к нему доступ из функции templateUrl, но и в этом случае это не удается, потому что значение, которое я получаю, — это просто имя переменной, а не содержимое.
Если я избегаю внедрения службы через angular.injector, код работает, однако из-за характера приложения я не могу этого избежать, кроме того, мне интересно понять, в чем причина этой ошибки, если кто-то достаточно любезен, чтобы пролить свет на этот вопрос.