Разница между типизированными и нетипизированными ленивыми загрузочными модулями - PullRequest
0 голосов
/ 19 февраля 2019

Я бы спросил, в чем разница между этими двумя формами ленивых загрузочных модулей в Angular:

    {
        path:'',
        loadChildren: './mymodule.module#MyModule'
    }

И:

    {
        path:'',
        loadChildren: () => MyModuleModule
    }

Я не знаю, если это два способасделать то же самое или если есть какие-либо различия в производительности или поведении.

Спасибо!

1 Ответ

0 голосов
/ 19 февраля 2019

Этот синтаксис:

{
    path:'',
    loadChildren: () => MyModuleModule
}

Не приводит ли не к отложенному загруженному модулю.Он напрямую ссылается на MyModuleModule, поэтому, когда Angular CLI связывает пакеты, он связывает MyModuleModule с любым модулем, в котором находится этот код.

Используйте этот синтаксис, если вам нужно специально загрузить дочерний элемент функционального модулямаршруты в определенном месте в вашей иерархии маршрутов.

Но ПРИМЕЧАНИЕ: я использовал , чтобы покрыть это в одном из моих выступлений "Угловая маршрутизация", которые я делал на конференциях.Один из членов команды Angular предложил мне stop покрыть его, потому что вместо этого в большинстве случаев следует использовать ленивый загруженный синтаксис.

Этот синтаксис:

{
    path:'',
    loadChildren: './mymodule.module#MyModule'
}

Результат приводит к отложенному загрузке модуля.Имя модуля определено в строке, поэтому оно не имеет прямой ссылки и не связано с модулем, в котором оно определено.

...