【问题标题】:making multiple http call after Switching between components在组件之间切换后进行多次http调用
【发布时间】:2019-12-17 13:38:20
【问题描述】:

我有一个查询有点复杂,但请询问我是否需要更多详细信息...

Angular 版本:8。 主题:切换组件是循环的问题。

就像来自组件 A. -> B -> A -> B

我的问题的简要说明

从“A”组件中,我选择了几个员工,然后单击应用过滤器按钮,以便我可以切换到 B 组件。

在每个员工复选框上单击使用服务发出事件,以便从“B”组件中我应该能够获取那些选定的员工并执行进一步的逻辑(如 API 调用)

从 A 切换到 B 工作正常,因为根据选定的员工,我正在访问 API 以获取他们的详细信息。

但要重置选定的员工,我将重定向回 A 组件,以便我可以添加更多或删除员工...

现在我面临的问题是

由于我在组件 B 中有逻辑,可以访问 API 并获取员工详细信息。

问题是在每次选择从组件“B”返回一轮后,一次点击进入 API 以获取更新的 emp 详细信息。

我知道它正在发生在 EvenEmitter 的 bcz 中,但是最好的解决方案是什么,以便在每个事件发出时它都不应该从“A”进行 API 调用,直到我不在组件 B 中。

【问题讨论】:

  • 当你说组件 A 和 B 时它们在不同的路线上吗?
  • 是的,他们在不同的路线

标签: angular2-routing angular2-services angular-components angular-http angular-component-life-cycle


【解决方案1】:

我已经解决了我的问题.. 每次我们重定向到其他路线时,它都会自动调用 ngOnDestroy,您可以在其中取消订阅您已订阅的所有服务。

取消订阅的语法:

声明一个属性

ServiceSubscriptions: Subscription;

ngOnDestroy() {
    this.ServiceSubscriptions.unsubscribe();
    debugger;
}

如果有人有任何疑问,请随时问我。

【讨论】:

    猜你喜欢
    • 2020-06-24
    • 2014-01-11
    • 2011-03-18
    • 2022-11-23
    • 2020-09-20
    • 1970-01-01
    • 1970-01-01
    • 2012-02-12
    • 2013-04-14
    相关资源
    最近更新 更多