Запустите Angular и старое приложение Knockout одновременно - PullRequest
0 голосов
/ 25 апреля 2018

Я имею удовольствие / неудачу начать переписывать устаревшее приложение Knockout с Angular. Это должно происходить поэтапно, потому что это большое приложение. Прямо сейчас я перестраиваю все по маршруту /account. Я также должен сделать это в решении ASP.NET MVC.

Мне удалось достаточно хорошо разработать, собрать и запустить приложение, предоставив статические ресурсы для любого маршрута учетной записи. Однако, пытаясь предотвратить перезагрузку приложения каждый раз, когда кто-то перемещается между его учетной записью и остальной частью приложения, я хотел бы найти способ раскрутить угловое приложение одновременно с нокаут-приложением.

Есть идеи?

1 Ответ

0 голосов
/ 02 мая 2018

У меня есть глупая идея, но она потребует от вас дополнительной разработки.

Может быть, вы можете запустить все внутри своего приложения Angular?

  1. Ваше приложение Angular должно позаботитьсявся маршрутизация.
  2. Страницы-нокауты могут запускаться внутри iframe и взаимодействовать с Angular посредством postMessage

Базовая концепция:

  1. Открыто угловое приложение
  2. Пользователь пытается перейти на страницу Knockout
  3. Состояние загрузки показа углов
  4. Угловое начало загрузки iframe сстраница выбивки (iframe скрыт) * ​​1026 *
  5. iframe уведомляет Angular через postMessage , что он готов (необходимо изменить логику маршрутизации или инициализации вашего приложения для выбивки)
  6. Угловые остановкизагрузка и показ iframe
  7. Пользователь взаимодействует со страницей выбивки
  8. Если пользователь нажимает на элемент, требующий перенаправления, - knockout должен уведомить об этом Angular через postMessage .

Мне удалосьопишите только основную идею, не зная подробностей о вашем приложении.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...