gpt4 book ai didi

Angular Router - 延迟加载而不会丢失 url 段

转载 作者:行者123 更新时间:2023-12-04 03:14:23 24 4
gpt4 key购买 nike

据我了解, Angular 路由器延迟加载从 url 段开始工作。

例如在 live example of docs ,你在一个单独的模块中有危机中心,他的组件的路由卡在'www.server.org/crisis-center/'......

但是如果你想要 crisis-center 怎么办?没有卡在“www.server.org/crisis-center” url 段上的组件??

例如“www.server.org/crisis-center”指向 CrisisListComponent,“www.server.org/crisis-admin”指向 CrisisAdminComponent

我找不到将两条路由指向同一个延迟加载模块的方法......

有人知道在不丢失 url 部分的情况下使用延迟加载的任何方法吗?

其他例子:

让我们看看这个问题:Multiple Components from Same Lazy Route Not Working

解决方案是做一个单一的惰性路由:

{ path: 'Lazy', loadChildren: './+lazy/lazy.module#LazyModule' }

然后你可以使用www.asdf.com/Lazy/Page30www.asdf.com/Lazy/Page31 , url 的第一段 ( lazy ) 丢失了...

有什么方法可以使用 www.asdf.com/Page30www.asdf.com/Page31对同一个惰性模块使用惰性加载??

最佳答案

我知道有 3 种可能的解决方案(解决方法):

  1. 将惰性模块分成 2 个具有独立路由的惰性模块 - 不同的 url 通常意味着这些组件做不同的事情,并且应该在它们自己的模块中
  2. 在这些组件之前添加前缀 - 您可以使用 url/crisis/admin 和 url/crisis/user,而不是 url/crisis-admin 和 url/crisis-user。 (或者 url/crisis/crisis-admin,如果你觉得更好的话)
  3. 路由/到模块,所以你可以在那里声明进一步的路由(你可能不想这样做)

在页面的例子中,你应该像这样分开它:

url/page //base url
----url/page/30
----url/page/31

或者更好:

url/page?number=30
url/page?number=31

并将这些页面放入单个组件(如果这对您可行)

关于Angular Router - 延迟加载而不会丢失 url 段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42392008/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com