【问题标题】:Lazy loading a named router outlet延迟加载命名路由器出口
【发布时间】:2023-04-08 14:34:01
【问题描述】:

到目前为止,我还没有在命名路由器出口 e.x 中找到延迟加载的工作演示。 <router-outlet name="view"></router-outlet>。我做了一个 plunkr 来找到一种方法让它在没有成功的情况下工作。任何帮助将不胜感激。

https://plnkr.co/edit/EW3PZUMC63euf2QYxtW5?p=preview

在上面的示例中,View1、View2 和 View3 在默认路由器插座中延迟加载。 View3_1 和 View3_2 被延迟加载到指定的路由器出口中,但没有成功。

【问题讨论】:

标签: angular lazy-loading router router-outlet


【解决方案1】:

有一个代理组件解决方法: 我们有这个

 {
        path: 'me',
        outlet: 'hub',
        component: ProxyRouteComponent,
        children: [
            {
                path: '',
                loadChildren: 'hub#HubModule',
            },
        ],
    },

代理路由组件在哪里

import { Component } from '@angular/core';

@Component({
    selector: 'b-proxy-route',
    template: '<router-outlet></router-outlet>',
})
export class ProxyRouteComponent {
}

【讨论】:

  • 这似乎可行。这样做后有什么见解/警告吗?很想看到一个笨拙的人。
【解决方案2】:

我曾尝试这样做,但得到了:

Promise 拒绝:路由“yourRouteName”的配置无效:无组件路由不能有一个命名的出口集

当我们使用命名路由器出口时,它需要组件,而不是模块。 我认为这是不可能的=(但我非常需要它。

【讨论】:

    猜你喜欢
    • 2017-12-07
    • 2019-12-07
    • 2019-01-14
    • 2022-11-03
    • 2015-03-28
    • 2017-01-06
    • 1970-01-01
    • 1970-01-01
    • 2017-05-17
    相关资源
    最近更新 更多