微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Angular NgXs - 动作被另一个动作触发

如何解决Angular NgXs - 动作被另一个动作触发

我有两个动作:

  • CountriesGetList
  • CitiesGetList

以及在其构造函数中分派动作的组件:

this.store.dispatch(new CountriesGetList({ object: this.object,objectId: this.objectId }));

问题是这个调度触发了这个动作@Action(CountriesGetList)和...另一个动作:

@Action(CitiesGetList)
columns_get_list({ getState,patchState }: StateContext<StateModel>,action: CitiesGetList) {}

问题是:为什么会发生这种情况?我不需要调度第二个动作 - @Action(CitiesGetList)。

感谢提前!

解决方法

这将需要更多信息才能重现,但对此最合理的解释是您对两个操作使用相同的 static type 值。所以我猜你是这样声明的:

export class CountriesGetList {
  static type = '[Countries] Get List';
  // ...
}

export class CitiesGetList{
  static type = '[Countries] Get List';
  // ...
}

您应该更新您的城市操作以具有唯一的类型属性:

export class CitiesGetList{
  static type = '[Cities] Get List';
  // ...
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。