【问题标题】:How can I set preference for routes?如何设置路线偏好?
【发布时间】:2017-10-18 23:21:14
【问题描述】:

我的 Angular 4 应用程序中有多个 app.routing.ts 文件。有什么方法可以设置一个文件中的路由优先于其他文件吗?

【问题讨论】:

  • 你想用多个 app.routing.ts 文件来完成什么?通常,一个应用程序会为其主要应用程序路由创建一个 app.routing.ts 文件,然后为功能路由(如 product.routing.ts)添加额外的路由模块。
  • 所以我有一个 Angular4 应用程序,我在其中从我的 Pvt 导入其他 Angular4 应用程序作为包。 NPM 注册表。这些应用程序有自己的app.routing.ts 文件。我通过将这些应用程序作为@imports 添加到我的app.module .ts 来导入这些应用程序,我的主应用程序也有特定的路由。所以发生的事情是,当我尝试访问 URL 时,附加到该特定 URL 的组件被我其他导入的应用程序路由中的路由(相应组件)覆盖。

标签: angular angular4-router


【解决方案1】:

路由按照它们被拉入 app.module 的顺序进行处理。

访问路由时,该顺序中的第一个匹配项获胜。

因此,要优先选择某些路由而不是其他类似的路由,请在列表顶部配置首选路由。

例如:

  imports: [
    BrowserModule,
    HttpClientModule,
    ProductModule,
    UserModule,
    AppRoutingModule
  ],

在上面的示例中,所有 ProductModule 路由都将优先于 UserModule 路由,并且所有 UserModule 路由都将优先于任何 AppRoutingModule 路由。

我有更多关于路由排序的信息:https://blogs.msmvps.com/deborahk/angular-route-ordering/

【讨论】:

  • 感谢您的回答。但是我的路由文件位于另一个应用程序中,我将其作为依赖项导入。所以它与当前路线重叠。
猜你喜欢
  • 1970-01-01
  • 2013-03-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-11
相关资源
最近更新 更多