NGRX和服务仅在第一次加载组件时调用

时间:2017-12-28 14:01:30

标签: angular ngrx

假设我有一个名为GridPageComponent的组件。这是我的应用程序中的许多路线之一。我还有一个名为LOAD_DATA的动作,它在ngOnInit中被调用。是否有最佳做法只能在第一次加载组件时进行此调用?如果我离开并回来,我想不要拨打这个服务电话。我唯一能想到的就是订阅商店并检查一些标志以查看它是否已被加载。如果没有,我会派遣动作去取它。

1 个答案:

答案 0 :(得分:1)

我认为你走在正确的轨道上。我会向你的状态添加一些loaded属性,并检查是否已经加载了数据。如果没有,请调度一个动作来加载数据。

我会把这张支票放在一个canActivate后卫身上。这使组件代码更加精简。您的ngOnInit可以像选择一样简单。防护也可以在需要数据的多条路线上重复使用。