Угловой модуль ввода после инициализации приложения
Привет всем, я пытался сделать это без везения на несколько дней.
все равно загружается асинхронно некоторые js-скрипты (которые содержат модули angular) и вводят их в запущенное приложение после его инициализации.
В принципе у меня есть элемент DOM контейнера, который будет заполнен некоторым HTML-кодом, запрошенным с сервера, на основе этого HTML-кода я буду решать, какие js файлы (модули) будут необходимы, а затем загружать их асинхронно вставлять модули в angular app и скомпилировать контент с помощью новых инъецированных модулей.
Я пробовал, но каждый раз, когда я делаю метод начальной загрузки, вводя модуль, главный контроллер запускает и стирает все мое состояние области.: (
Любая помощь здесь?
Ответы
Ответ 1
Это уродливо, но он работает: http://jsfiddle.net/MzseV/7/
Он в основном работает путем итерации члена модуля _invokeQueue
и применения функций в рамках использования поставщиков, используемых для регистрации служб, контроллеров и директив (ПРИМЕЧАНИЕ: они должны быть записаны перед загрузкой AFAIK). Это, вероятно, также перерегистрирует все, что вы ранее зарегистрировали, поэтому вы можете захотеть, чтобы какая-то эвристика выбрала только те, которые вы хотите, хотя я не уверен, есть ли какой-либо ущерб при повторной регистрации.
Опять же, он довольно отвратительный и взломанный, поэтому я буду использовать только в качестве последнего средства.
Вот вопрос, который я задал, и позже ответил об этом.
EDIT: просто заметил, сколько лет этот вопрос, надеюсь, он все еще помогает кому-то.
Ответ 2
Возможно, это может помочь?
app.requires.push("myModule");
инъекционный модуль, если у вас есть доступ только к переменной модуля