首页 > 解决方案 > 什么时候使用解析来检索数据?

问题描述

我想知道在打开页面时使用解析器与仅使用基本获取数据是否以及何时有意义。我有一个应用程序,多个开发人员在其中工作,其中一个在我们打开这样的实际表单之前使用路由中的代码来查找数据。

{
    path: 'FarmMaster/:DocId',
    component: FarmMasterWrapperComponent,
    resolve: {'farmMaster': FarmMasterResolver},
    data: {displayName: 'Farm Master'},
}

我可以在 ngInit 上做同样的事情来调用相同的服务并获取数据。由于我想标准化,我想看看哪个更有意义,然后采用该解决方案。总是有不止一种方法可以做到这一点,只是因为它的工作原理并不总是最好的方法。

标签: angular

解决方案


使用解析器为您提供了更多选择:

  • 您实际上可以让解析器充当警卫并阻止用户进入路线

  • 如果您有子路由,您可以重用父路由的解析器的结果,如果您需要子路由内的相同数据,这会减少调用次数

也许还有一些我现在没有想到的。

我想为您提供更多提示,说明何时我更喜欢使用解析器而不是在组件内调用数据。

  • 非常明显:当我可以利用上述选项之一时,我肯定会使用解析器

  • 当调用的数据用于在组件中显示时(例如用户列表),我更喜欢将其加载到组件中,因为您很可能需要重新加载,例如在添加新条目或进行过滤之后。所以无论如何我都需要在组件内部加载的逻辑


推荐阅读