当前位置: 首页 > 知识库问答 >
问题:

角度6-延迟加载辅助问题

夏志国
2023-03-14

我需要在基于url的懒惰模块中加载详细信息。所以,我使用了懒惰的辅助路由。但是,当我使用辅助路由时,我面临以下问题。

错误错误:未捕获(promise中):错误:无法匹配任何路线。URL段:“lazy/aux1”错误:无法匹配任何路由。URL段:ApplyRedirects.noMatchError处的“lazy/aux 1”(https://lazy-load-auxiliary-b7vpg-e2a x7j . stack blitz . io/turbo _ modules/@ angular/router @ 6 . 1 . 7/bundles/router . UMD . js:1455:20)catch subscriber . eval[as selector](https://lazy-load-auxiliary-b7vpg-e2a x7j . stack blitz . io/turbo _ modules/@ angular/router @ 6 .MapSubscriber上的subscriber . error(https://lazy-load-auxiliary-b7vpg-e2ax7j . stack blitz . io/turbo _ modules/rxjs @ 6 . 3 . 2/internal/subscriber . js:74:18)map subscriber上的subscriber . _ error(https://lazy-load-auxiliary-b7vpg-e2ax7j . stack blitz . io/turbo _ modules/rxjs @ 6 . 3 . 2/internal/subscriber . js:96:26)。MapSubscriber上的subscriber . error(https://lazy-load-auxiliary-b7vpg-e2ax7j . stack blitz . io/turbo _ modules/rxjs @ 6 . 3 . 2/internal/subscriber . js:74:18)map subscriber上的subscriber . _ error(https://lazy-load-auxiliary-b7vpg-e2ax7j . stack blitz . io/turbo _ modules/rxjs @ 6 . 3 . 2/internal/subscriber . js:96:26)。TapSubscriber上的subscriber . error(https://lazy-load-auxiliary-b7vpg-e2ax 7j . stack blitz . io/turbo _ modules/rxjs @ 6 . 3 . 2/internal/subscriber . js:74:18)。_ error(https://lazy-load-auxiliary-b7vpg-e 2 ax7j . stack blitz . io/turbo _ modules/rxjs @ 6 . 3 . 2/internal/operators/tap . js:75:26)

请在下面找到示例链接和复制步骤:

  1. 转到示例链接https://stackblitz.com/edit/lazy-load-auxilary-b7vpg-e2ax7j
  2. 单击懒惰路由链接
  3. 然后单击辅助路由

有人能帮我解决这个问题吗?

共有2个答案

闽经纬
2023-03-14

从您的示例(https://stack blitz . com/edit/lazy-load-auxiliary-b7vpg-e2ax 7j)来看,您只需要几样东西:

这几天我读了很多关于路由的书,经常得到的反馈是不能有空路径的懒惰路由,所以在lazy.module routes config中添加:

 { path: '', redirectTo: 'lazy', pathMatch: 'full' },

然后将您的空惰性路径名修改为“lazy”

 path: 'lazy',

然后,正如评论所建议的,命名出口有一种特定的使用方式:(第一个路由器链接指令应该是)

[routerLink]="[ { outlets: { aux :['aux1'] }} ]"

有了这个,你的堆栈闪电战现在可以工作了

周朗
2023-03-14

您需要进行一些更改,您不需要命名您的网点,并在路由中提及网点名称

const routes = [
  {
    path: '', component: LazyComponent,
    children: [
      {
        path: 'aux1', component: Aux1Component
      },
      {
        path: 'aux2', component: Aux2Component
      },
      {
        path: 'aux3', component: Aux3Component
      }
    ]
  }
];

<a [routerLink]="['/']">
    back
</a>
&nbsp;
<a routerLink="aux1">
    aux1 route
</a>
&nbsp;

<a [routerLink]="['aux2']">
    aux2 route
</a>
&nbsp;

<a [routerLink]="['aux3']">
    aux3 route
</a>

<router-outlet></router-outlet>

然后你可以使用

请参见更新堆栈

 类似资料:
  • 不确定我是否做对了一切。但问题是:当我从延迟加载的模块导航到组件的某些子路由时,它根本不加载。它从延迟加载模块重新加载主组件。 app-routing.component.ts planet-detector-routeting.module.ts 所以在上面的例子中,当你输入“http://localhost:4200/planet-detector/first”时,它会加载DetectorCo

  • 我有一个类,其中包含一个延迟加载的属性

  • 描述 (Description) 延迟加载可应用于图像,背景图像和淡入效果,如下所述 - 对于图像 要在图像上使用延迟加载,请按照给定的步骤进行操作 - 使用data-src属性而不是src属性来指定图像源。 将类lazy添加到图像。 <div class = "page-content"> ... <img data-src = "image_path.jpg" class = "l

  • 问题内容: 我有一个输入,可以根据更改过滤ng-repeat列表。重复数据包含大量数据,并且需要花费几秒钟来过滤所有内容。我希望他们在开始过滤过程之前有0.5秒的延迟。 产生延迟的正确方法是什么? 输入项 重复 过滤功能 谢谢 问题答案: AngularJS 1.3+ 从AngularJS 1.3开始,您可以利用提供的属性轻松实现这一点,而无需使用。这是一个例子: HTML: JS: - 要么 -

  • 我似乎不能得到懒惰加载与Slick.js旋转木马工作。我可以看到图像懒惰加载时,我检查的网络选项卡中的开发工具窗口,但他们没有出现在页面上的轮播。我正在使用数据懒惰属性,并尝试制作第一张幻灯片“src”而不是“数据懒惰”,但似乎没有什么对我有用。

  • 我想,我的java代码是正确的,但记录并没有显示在dataTable上。 请检查下面的代码。我不知道我在哪里犯了错误。 .xhtml JAVA getResultList getResultList方法返回一个正确的值,我调试它。我认为问题在于userDataList。