Я создаю виджет, который зависит от Angular вместе с инструментом построения виджета. Строитель использовал Angular с ngApp
, прикрепленным к тегу html
документа.
Когда я загружаю виджет внутри построителя виджета, я получаю следующую ошибку:
Error: [ng:btstrpd] App Already Bootstrapped with this Element '<div class="company-widget" id="widget-app" data-company="demoCorp">'
Вот функция начальной загрузки:
angular.bootstrap('#widget-app', ["myWidget"]);
Для всех целей и задач остальная часть приложения myWidget
представляет собой довольно стандартное сочетание контроллеров и служб.
Я следил за этим сообщением в блоге о том, как разрешить несколько директив ngApp
на одной странице, однако я не понял до тех пор, пока я не установил это, что в конце сообщения в блоге говорится, что вы не можете встраивать приложения, что происходит здесь, и что может произойти на небольшом количестве сайтов, использующих этот виджет.
Я не могу перепроектировать виджет-построитель, и я могу разумно предположить, что для любых сайтов Angular, где виджет встроен, сайт узла будет прикреплять ngApp
к тегу html
.
Мой вопрос в том, есть ли способ обойти это ограничение, даже если это хакерское решение? Можно ли проверить, есть ли на странице уже приложение и ввести приложение myWidget
в хост-приложение в качестве зависимости?