#angular #requirejs #ngondestroy
#angular #requirejs #ngondestroy
Вопрос:
У меня есть угловое приложение, это простое приложение с маршрутизацией. Я должен включить свое приложение как часть другого веб-сайта, веб-сайт загружает приложение в модальное после загрузки всех зависимостей через RequireJS.
Открытие приложения в модальном режиме работает нормально.
Когда модальное отклоняется (и узел, который мы отклоняем с модальным) Я полагаю, что приложение уничтожено.
Но после модального увольнения приложение, похоже, все еще находится в памяти, и если я снова открою модальное, я не увижу загруженное приложение (и не поймаю никакой ошибки).
После первого использования я получаю пустую страницу.
Итак, я предполагаю, что мне нужно принудительно уничтожить приложение при модальном отключении.
Есть предложения?
=== ОБНОВЛЕНИЕ ===
Я попытался следовать двум разным путям.
-
использование RequireJS undefine
Я получаю сообщение об ошибке, и, похоже, оно не работает
-
включить main.js через Ajax-запрос
Я не получал никаких ошибок, но, похоже, это не работает
В любом случае я вижу, что приложение Angular, похоже, все еще работает, я могу читать сообщения в журнале консоли, отправленные контроллерами Angular, но рендеринг не работает.
При включении main.js во второй раз я прочитал все сообщения журнала консоли, кроме сообщения в главном конструкторе.
Комментарии:
1. Я считаю, что ваш вопрос требует расследования и отладки того, что действительно происходит. То, что, я думаю, будет работать в большинстве случаев, — это угловые элементы . Я считаю, что если вы сделаете свое угловое приложение угловым элементом, оно будет работать нормально
2. Почему вы используете requirejs с angular? Вы имеете в виду angularjs?
3. @Andrey после некоторого теста кажется, что приложение все еще работает, я вижу журнал для какого-либо вызова ajax и так далее, Но рендеринг на странице отсутствует. Тег <app-root> добавляется к модальному, когда он был открыт, и удаляется, когда модальный был отклонен.
4. @mwilson — это требование сайта, включающего приложение.
5. Я все еще думаю, что angular elements — лучший вариант для вас