Относительные маршруты не генерируются автоматически при создании нового объекта - PullRequest
1 голос
/ 08 февраля 2020

Когда я создаю новый объект с помощью команды "jhipster entity [entityName]", относительные пути автоматически не создаются в моем [entityName] .route.ts.

Вместо этого в месте для Основной маршрут у меня есть это: '' вместо '[entity-name]'.

Кроме того, все маршруты для добавления, обновления и удаления также не содержат префикса '[entity-name]'.

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

1 Ответ

1 голос
/ 12 февраля 2020

В entity.module.ts маршруты к объектам добавляются в RouterModule.forChild(): загрузка всех объектов будет отложенной.

Это означает, что начальная часть созданного JHipster приложения Angular загружается в клиент (браузер) не имеет всех путей и всех модулей приложения. Единственный Angular Router-Object приложения Angular изначально знает только пути, определенные в RouterModule.forRoot() в app-routing.module.ts (который импортируется как [AppName]AppRoutingModule] в app.module.ts) и navbar.route.ts (который является связаны в app-routing.module.ts).

Сам entity.module.ts импортируется как [AppName]EntityModule в app.module.ts, и поэтому его входы RouterModule.forChild() известны объекту Angular Router-Object с самого начала приложения в клиентском браузере.

Таким образом, Angular Router-Object на клиенте будет знать только пути и как перейти к внедренному объектному модулю (означает: как загрузить компоненты объектов на экране Соглашения SPA), если об этом попросят, и, следовательно, будет только в том случае, если эта сущность будет посещена "ленивой загрузкой" соответствующих js -данных с веб-сервера на клиент (браузер). Angular упаковывает эти данные при передаче в javascript кусках, поэтому соответствующие дополнительные данные можно загружать отдельно.

В каждой папке сущности веб-приложения JHipster вы найдете [entity].route.ts, который импортируется соответствующий [entity].module.ts.

Таким образом, как только один из компонентов сущностей будет посещен через путь, маршрутизатор-объект Angular на клиенте получит дополнительную информацию (пути), как загрузить дополнительные Angular компоненты (завершенный объект, созданный JHipster) с loadChildren в RouterModule.forChild.

Эти шаблоны компонентов функциональных модулей будут затем на path: '' (соответственно path: ':id/view', * 1034) *, path: ':id/new') добавлен к root -путь, из которого они пришли: <base href="/" /> (из index.html) + ./[entity]/ (из entity.module.ts).

Вместе с соответствующим названием розетки (если он назван), средства защиты маршрута и заголовки страниц, а также отдельные дополнительные параметры маршрута также генерируются для стороны Angular внешнего интерфейса приложения JHipster. JHipster в настоящий момент генерирует два <router-outlet> s: один для панели навигации вверху страницы (это именованный) и основной <router-outlet>.

...