angular - 什么时候使用解析来检索数据?
问题描述
我想知道在打开页面时使用解析器与仅使用基本获取数据是否以及何时有意义。我有一个应用程序,多个开发人员在其中工作,其中一个在我们打开这样的实际表单之前使用路由中的代码来查找数据。
{
path: 'FarmMaster/:DocId',
component: FarmMasterWrapperComponent,
resolve: {'farmMaster': FarmMasterResolver},
data: {displayName: 'Farm Master'},
}
我可以在 ngInit 上做同样的事情来调用相同的服务并获取数据。由于我想标准化,我想看看哪个更有意义,然后采用该解决方案。总是有不止一种方法可以做到这一点,只是因为它的工作原理并不总是最好的方法。
解决方案
使用解析器为您提供了更多选择:
您实际上可以让解析器充当警卫并阻止用户进入路线
如果您有子路由,您可以重用父路由的解析器的结果,如果您需要子路由内的相同数据,这会减少调用次数
也许还有一些我现在没有想到的。
我想为您提供更多提示,说明何时我更喜欢使用解析器而不是在组件内调用数据。
非常明显:当我可以利用上述选项之一时,我肯定会使用解析器
当调用的数据用于在组件中显示时(例如用户列表),我更喜欢将其加载到组件中,因为您很可能需要重新加载,例如在添加新条目或进行过滤之后。所以无论如何我都需要在组件内部加载的逻辑
推荐阅读
- python - 如何仅转置数据帧的一部分或交换行和列?
- svelte - 在高阶苗条商店中取消订阅
- c# - 在 Azure 设备预配服务中上传证书
- node.js - 如何获取时刻时区使用的时区版本?
- c# - Twitter API - 发布后删除具有唯一 ID 的推文
- arrays - 在数组中无法显示前 9 个字符
- php - 从 CI4 中的另一个模型访问模型函数的正确方法是什么?
- react-native - BottomTabNavigator 中的动态 initialRouteName - React Navigation v5
- git - 尽管具有执行权限,但接收后 gitook 不会触发?
- artificial-intelligence - 如何区分从左到右和从右到左的 alpha-beta 修剪?