【问题标题】:Relative routes are not automatically generated when creating a new entity创建新实体时不会自动生成相对路由
【发布时间】:2020-02-08 00:40:23
【问题描述】:

当我使用命令“jhipster entity [entityName]”创建新实体时,相对路径不会在我的 [entityName].route.ts 中自动生成。

相反,在主要路线的地方我有这个:'',而不是'[entity-name]'。

另外,所有添加、更新和删除的路由也不包含前缀'[entity-name]'。

提前谢谢你

【问题讨论】:

    标签: angular routes entity jhipster


    【解决方案1】:

    entity.module.ts 中,到实体的路由被添加到RouterModule.forChild():所有实体都将延迟加载。

    这意味着加载到客户端(浏览器)中的 JHipster 创建的 Angular 应用程序的初始部分没有应用程序的所有路径和所有模块。 Angular 应用程序的唯一 Angular Router-Object 最初只知道在app-routing.module.ts 中的RouterModule.forRoot() 中定义的路径(在app.module.ts 中作为[AppName]AppRoutingModule] 导入)和navbar.route.ts(在@987654329 中链接) @)。

    entity.module.ts 本身在app.module.ts 中作为[AppName]EntityModule 导入,因此它的RouterModule.forChild() 条目在客户端浏览器中的应用程序启动时就被Angular Router-Object 知道。

    这样,客户端上的 Angular Router-Object 将只知道路径以及如何导航到已实现的实体模块(意味着:如何在 SPA 的屏幕上加载实体组件),因此将仅在此实体被“延迟加载”从 Web 服务器到客户端(浏览器)的相应 js-data 的情况下。 Angular 将转译时的这些数据打包成 javascript 块,因此可以单独加载相应的附加数据。

    在每个 JHipster webapp 实体文件夹中,您都会找到一个[entity].route.ts,它由相应的[entity].module.ts 导入。

    因此,一旦通过路径访问其中一个实体组件,客户端上的 Angular Router-Object 就会获得更多信息(路径),如何使用 @987654337 加载其他 Angular 组件(一个完整的 JHipster 创建的实体) @在RouterModule.forChild.

    然后这些feature modules components templates 将位于path: ''(分别为path: ':id/view'path: ':id/edit'path: ':id/new')添加到它们来自的根路径:<base href="/" />(来自index.html)+@987654345 @(来自entity.module.ts)。

    与相应的出口名称(如果已命名)一起,还会为 JHipster 应用程序的前端 Angular 端生成路由保护和 pageTitles 以及单独的附加路由参数。 JHipster 目前生成两个<router-outlet>s:一个用于页面顶部的导航栏(这是已命名的)和主要的<router-outlet>

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-02-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-07
      • 1970-01-01
      • 2013-01-03
      相关资源
      最近更新 更多