Angular 尽可能早地实例化服务

Angular 尽可能早地实例化服务,angular,Angular,以用户全局对象为例。对于没有刷新浏览器的单页web应用程序,第一个条目可能是填充服务中的用户对象 但也就是说,URL仍然被用作指向应用程序不同路径的链接。在什么时候,在路由中使用用户对象的每个组件都应该从服务器加载用户对象?既然服务是异步加载用户,那么在该用户对象可用之前,当前路由中的这些组件如何肯定能够获得用户 我可能问错了问题,因为我想解决这个问题。所以我的想法是,如果我可以先加载服务对象,然后再加载所有其他组件,那么问题就解决了 我想如果我把服务放在app.component.ts中,但没

以用户全局对象为例。对于没有刷新浏览器的单页web应用程序,第一个条目可能是填充服务中的用户对象

但也就是说,URL仍然被用作指向应用程序不同路径的链接。在什么时候,在路由中使用用户对象的每个组件都应该从服务器加载用户对象?既然服务是异步加载
用户
,那么在该用户对象可用之前,当前路由中的这些组件如何肯定能够获得用户

我可能问错了问题,因为我想解决这个问题。所以我的想法是,如果我可以先加载服务对象,然后再加载所有其他组件,那么问题就解决了


我想如果我把服务放在app.component.ts中,但没关系。当用户仍
未定义时,其他组件仍在实例化

您可以使用APP\u初始化器确保在Angular初始化应用程序之前加载值,或者您可以使用延迟路由直到数据可用的保护装置

另见


您可以使用APP\u初始化器确保在Angular初始化应用程序之前加载值,或者您可以使用延迟路由直到数据可用的防护装置

另见


我已经测试过此解决方案。它起作用了。但是,这在angular代码中被标记为实验性的?在我看来,除了这一条,真的没有别的选择来实现我想要的——无论进入什么路线,都要实例化一些服务。它被标记为实验性的并不意味着什么。他们可能会考虑重新设计这个特性,但从2.0.0α开始,这是相同的。我已经测试了这个解决方案。它起作用了。但是,这在angular代码中被标记为实验性的?在我看来,除了这一条,真的没有别的选择来实现我想要的——无论进入什么路线,都要实例化一些服务。它被标记为实验性的并不意味着什么。他们可能会考虑重新设计这个特性,但这是相同的,因为2.0.0α。