检测canvas元素的绑定宽度和高度属性的更改

时间:2017-10-04 12:06:50

标签: angular

我有一个基于<canvas [attr.width]='gameWidth' [attr.height]='gameHeight'></canvas>

的组件

在给定的事件中,我想更新绑定到widthheight的属性,然后将一些内容重新绘制到新重新调整大小的画布中。

当我尝试更新绑定属性然后立即触发重新绘制时出现问题。画布重新调整大小但绘图不会发生。

I made a plunk that shows the problem.点击画布会改变其尺寸,但随后对doRender()的调用无效。

我假设元素更新时有一些延迟,在此期间无法进行绘图。在这个例子中,我可以通过使用Observable.timer()在延迟时调用doRender()来解决问题,但这感觉很脏,我想知道这里的潜在问题是什么,以及是否有更好的方法在开始绘图之前确保画布上下文已准备就绪。

全部谢谢

0 个答案:

没有答案