代码之家  ›  专栏  ›  技术社区  ›  firasKoubaa

角RxJs:如何根据触发顺序处理输出事件优先级

  •  0
  • firasKoubaa  · 技术社区  · 7 年前

    在我的Angular应用程序中,我有一个小部件,它有两个事件输出。 这个小部件来自第三方库,我不能改变它的行为。

    <myWidget
      (onAlwaysEvent)="onAlwaysEvent($event)"
      (onSometimesEvent)="onSometimesEvent($event)">
    </myWidegt>
    

    1- onAlwaysEvent

    二- onSometimesEvent

    • 当两者都被触发时: 我要准备好了 有时 作为优先事项 第一个 (onAlwaysEvent)
    • 什么时候 '是唯一被解雇的:

    (我没有任何案例 所有人 未启动)

    有时 优先考虑,就在被解雇的时候 ?

    1 回复  |  直到 7 年前
        1
  •  0
  •   Rence    7 年前

    您可以为这两种情况调用一个事件,然后通过添加一个布尔值作为参数,在函数中检查它是“总是”还是“有时”。

    <myWidget
      (onAnyEvent)="onAnyEvent($event, $sometimes)">
    </myWidget>
    
    <sometimes-button onclick="onAnyEvent(e, true)" />
    <always-button onclick="onAnyEvent(e, false)" />
    

    如果设置了布尔值,请检查函数:

    onAnyEvent(event, sometimes) {
        if (sometimes) {
            // only do sometimes code
        } else {
            // only do always code
        }
    
        // do code for both
    }