Метеор - автоматическое обновление холста с данными по подписке?

Возможно, я что-то упускаю, но кажется, что «магия» Meteor вращается вокруг привязки данных к элементам DOM и обновления текста и фрагментов HTML с помощью рулей: http://docs.meteor.com/#reactivity

Это замечательно, однако, когда я пытаюсь написать метеорное приложение, отображающее оперативные данные в элементе , я не могу найти «способ метеора» для обновления моего холста при изменении оперативных данных, поскольку холст заполняется кодом JS, например:

var g = canvas.getContext('2d')
g.fillRect(x, y, w, h)

, а не текстом с поддержкой данных в шаблоне HTML.

Я пытаюсь рисовать на холсте, используя данные из Meteor.Collection.

Моей единственной мыслью было встроить JS-код для рисования холста в HTML-шаблон в теге script, заполненном переменными handlebar, но это кажется неправильным, поскольку события метеора и код привязки данных уже являются JS на стороне клиента.

Есть ли какой-нибудь способ отслеживать изменения данных в реальном времени, которые запускают рисование на холсте с помощью JS вместо HTML-элементов/текста?

Пожалуйста, дайте мне знать, если я могу как-то прояснить вопрос.

Обновление: Ответ Тома ниже заставил меня заметить Meteor.deps, которые позволяют выполнять произвольный код в реактивном контексте: http://docs.meteor.com/#on_invalidate

Я попробую и обновлю здесь, если это сработает.

11
задан 7zark7 29 May 2012 в 14:44
поделиться