Angular ViewChildren画布不会更新

时间:2019-11-01 15:40:42

标签: angular typescript observable

我在html中动态生成了16个画布,我用@ViewChildren读出了它们。第一次绘画画布时,一切工作正常,但是当可观察的更新时,画布将清除并且不会重新绘制图像。老实说,我找不到原因。

在我的代码中,我明确未使用可观察对象绘制的任何数据,以确保这不是错误。如果使用调试器,则变量中确实存在ctx上下文。

  animate() {
    let updateCount = 0;
    this.newTankTabs$.subscribe(tab => {
      console.log("updating from subscribe change");
      let count = 0;
      let tankTabs = tab as TankTabModel[];
      for (let i = 0; i < tankTabs.length; i++) {
        for (let j = 0; j < tankTabs[i].Tanks.length; j++) {
          let ctx = this.viewChildren.toArray()[count].nativeElement.getContext('2d');
          ctx.clearRect(0, 0, ctx.canvas.width, ctx.canvas.height);
          ctx.beginPath();
          ctx.rect(73.5, 13, 53, 404);
          ctx.lineWidth = 3;
          ctx.shadowBlur = 1;
          ctx.shadowOffsetX = 0;
          ctx.shadowOffsetY = 0;
          ctx.shadowColor = 'black';
          ctx.strokeStyle = 'grey';
          ctx.stroke();
          count++
        }
      }
      updateCount++;
    });
  }

0 个答案:

没有答案