В Angular есть ли способ иметь панель инструментов уровня приложения, но не иметь ее на страницах, таких как логин, регистрация? - PullRequest
0 голосов
/ 04 марта 2020

Я Angular новичок. Я пытаюсь получить наиболее эффективную страницу входа для моего приложения. Я пока не хочу go в Angular Универсал. (где-то читал, что это только помогает в снижении FCP, но не FMP).

В любом случае, у меня есть панель инструментов в компоненте приложения с ngIf. Поскольку он находится в компоненте приложения, я не могу лениво загрузить связанную панель инструментов JavaScript. Таким образом, хотя приложению не нужна панель инструментов, пока пользователь не вошел в систему, оно все равно загружает необходимые файлы JS / CSS / HTML. Это замедляет загрузку начальной страницы. Я исследовал возможные решения.

  1. Добавьте панель инструментов во все функциональные модули (возможно, плохое решение).
  2. Имейте родительский компонент в "/ home", который имеет только панель инструментов и загрузите оставшиеся страницы как дочерние компоненты. (Проблема с этим подходом заключается в том, что все мои маршруты содержат «home /»).

Будут оценены любые другие решения.

1 Ответ

0 голосов
/ 04 марта 2020

Есть два способа достичь этого. во-первых, вы можете использовать * ngIf, но я не буду предлагать вам это, во-вторых, создайте два модуля, один из которых будет auth.module для входа в систему и регистрации, а второй будет pages.module, в котором будут все остальные компоненты, содержащие панель инструментов. Компоненты будут иметь свои собственные страницы просмотра. Компоненты будут иметь панель инструментов, а компонент авторизации будет иметь все, что вы хотите добавить в него. удалите все из компонента приложения, кроме как, и добавьте файлы маршрутизации для этих модулей

...