如何为没有路由配置的组件使用 Angular 解析器?
How to use Angular Resolver for a component without route config?
我正在使用 Angular Resolver
在显示路线之前从服务器预取数据,因此页面不会加载为空,我们同意这个原则。
我现在的问题是如何在没有路由的情况下使用相同的 Resolver
从服务器预取数据?为了解释更多,我的问题是我的屏幕草图:
在我的应用程序的 HeadreComponent 上,我需要制作一些 api-call 以获得 person.firstName
和 person.lastName
但是 header 没有定义的路由,因为它应该是显示在第一页 (http:localhost:4200\home)。
所以我无法在路由配置中使用常规语法来调用解析器,如下所示:
{path: 'home', component: HomeComponent, resolve: {personInfos: PersonInfoResolver}}
我可能遗漏了一些东西,因为我正在开始 Angular 开发所以请善待 :D
我使用的解决方案是@trichetriche 在评论中提出的:使用具有路由 () 的父组件来实现解析器,然后使用 @Input()
将数据传递给 ChildComponent。
我正在使用 Angular Resolver
在显示路线之前从服务器预取数据,因此页面不会加载为空,我们同意这个原则。
我现在的问题是如何在没有路由的情况下使用相同的 Resolver
从服务器预取数据?为了解释更多,我的问题是我的屏幕草图:
在我的应用程序的 HeadreComponent 上,我需要制作一些 api-call 以获得 person.firstName
和 person.lastName
但是 header 没有定义的路由,因为它应该是显示在第一页 (http:localhost:4200\home)。
所以我无法在路由配置中使用常规语法来调用解析器,如下所示:
{path: 'home', component: HomeComponent, resolve: {personInfos: PersonInfoResolver}}
我可能遗漏了一些东西,因为我正在开始 Angular 开发所以请善待 :D
我使用的解决方案是@trichetriche 在评论中提出的:使用具有路由 () 的父组件来实现解析器,然后使用 @Input()
将数据传递给 ChildComponent。