Рендеринг Только один модуль/состояние приложения Angular

У меня есть angular приложение с большим количеством states and modules etc. Теперь я хочу отправить ссылку пользователю. Когда пользователь нажмет этот url, я хочу перенаправить его на новую вкладку, отображающую только это конкретное состояние (указанное в URL). I-e. Я не хочу, чтобы что-то еще было видимым для пользователя. Или вы можете сказать, что я хочу открыть рендеринг popup window, который отображает конкретное состояние html во всплывающем окне. Это подход, который приходит мне на ум, чтобы разобраться.

Ps. В бэкэнд есть внешние API-интерфейсы, которые я вызываю через службу angular resource для привязки данных к model представлений

Option

Я использую API-интерфейсы для бэкэнда. Итак, я думал о разработке отдельного приложения Nodejs, и я отправлю URL-адрес приложения Nodejs пользователю, а в default/home route я позвоню в backend API и, возвращенный набор результатов будет отображаться в файле html в приложении nodeJs, и таким образом я буду отображать соответствующие данные в окне браузера пользователя.

Это поток для введите описание изображения здесь

Я не знаю, правильно это или нет. Пожалуйста, предложите мне, какой будет лучший подход к его сортировке.

Спасибо заранее.

Это приложение выглядит как

введите описание изображения здесь

Все слева side-nav является module и нажимает на это, я направляюсь к другому state. Я использую angular-material и множество других зависимостей в этом проекте.

И это то, что я хочу.

Я приведу ссылку на пользователя, например www.myapp.com/specificpage.html. И нажав этот url, новый tab/popup будет отображаться как состояние отображения, определенное в том же приложении, но с некоторым non-editable url. И это должно понравиться.

введите описание изображения здесь

Ответ 1

Существует несколько способов достижения этого, и каждый подход имеет преимущество и недостаток. Вы должны выбирать в зависимости от требований и архитектуры. Подробности ниже

  • Создать отдельное приложение. Вы можете сделать это через отдельную базу кода или использовать процесс сборки на основе модуля и включить этот модуль только для нового приложения.
  • Разделить приложение на две части, общедоступные страницы и частные страницы. Включить эту страницу и необходимые API для этой страницы в общедоступных модулях для вашего приложения.
  • Отправить токен в ссылке. Если вы хотите сделать защищенную страницу, отправьте токен с коротким замыканием в электронную почту и подтвердите токен на сервере перед отображением страницы пользователю.