我可能遗漏了一些东西,但似乎 Meteor 的“魔法”围绕着将数据绑定到 DOM 元素,并通过把手更新文本和 HTML 片段:http: //docs.meteor.com/#reactivity
这很棒,但是,当尝试编写一个在 <canvas> 元素中显示实时数据的流星应用程序时,我无法弄清楚当实时数据更改时更新我的画布的“流星方式”,因为画布是通过 JS 填充的代码如:
var g = canvas.getContext('2d')
g.fillRect(x, y, w, h)
而不是 HTML 模板中的数据支持文本。
我正在尝试使用 Meteor.Collection 中的数据在画布上绘图。
我唯一的想法是将画布绘图 JS 代码嵌入 HTML 模板中由把手变量填充的脚本标记中,但这似乎是错误的,因为流星的事件和数据绑定代码已经是客户端 JS。
是否有某种方法可以监听实时数据更改,从而触发通过 JS 而不是 HTML 元素/文本在画布上绘图?
如果我能以某种方式澄清这个问题,请告诉我
更新: Tom 在下面的回答让我注意到 Meteor.deps,它看起来允许在反应式上下文中执行任意代码:http: //docs.meteor.com/#on_invalidate
如果可行,我将尝试并在此处更新。