首页 > 解决方案 > RxJs - 从另一个流中更改流的行为

问题描述

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

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

我有两个流:

两个流

如何定义在哪里调用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()?

标签: angularreactive-programmingrxjs6angular7

解决方案


推荐阅读