我可以在使用 ui-router 延迟加载时触发模块预加载吗?



我正在使用带有UI-Router的Angular8。

我的一些模块是使用 UI 路由器未来状态延迟加载

export const futureState = {
name: "app.users.**",
url: "/users",
loadChildren: () => import("../user.module").then((m) => m.UserModule)
};

浏览到/users会导致通过网络获取并加载用户模块。(作为 WebPack 生成的文件的一部分(

初始页面是否可以触发延迟加载用户模块,以便在访问/users时已经加载了用户模块?

以下内容似乎有效:

export class HomePageComponent implements OnInit {
ngOnInit() {
//Preload the user pages here as it's likely the user will
//visit them next
import("./user/user.module").then(m => m.UserModule);
}
}

我已经保留了上面的未来状态定义。这会导致加载用户模块:

  • 如果用户访问主页
  • 如果用户直接转到用户页面

最新更新