RxJs-从另一个流更改一个流的行为

时间:2018-11-08 16:19:19

标签: angular reactive-programming rxjs6 angular7

我正在使用角度7的RxJs 6。

我想在画布上从一个开始元素到另一点画一条线。开始元素已经绘制到画布中。

我有两个流:

  • 一个发出点击起始元素的按钮click$;
  • 从画布上发出点击的声音,canvasClick$

two stream

如何定义在哪里调用startDraw()endDraw()的订阅?如何使用流管理中间绘图状态?

编辑:无反应的解决方案

drawState = false;

fromEvent(elem, 'click').subscribe((e) => {
    console.log('hang', e);
    drawState = true;
    e.stopPropagation();
  });

fromEvent(canvas, 'click').subscribe((e) => {
    if (lineBuilding) {
      console.log('stage', e);
      lineBuilding = false;
    }
  });

我认为使用反应式有更好的方法,我认为变量lineBuilding是必需的,并且使用stopPropagation()吗?

0 个答案:

没有答案