RativeJS — событие жизненного цикла, чтобы узнать, когда обновления DOM будут завершены?

Я новичок в Ractive.js и мне интересно, есть ли событие жизненного цикла, которое я могу использовать, чтобы узнать, когда Ractive завершает обновление DOM в ответ на изменения данных?

Мой вариант использования заключается в том, что у меня есть сетка блоков (простых div), отображающая некоторый текст из модели данных. Всякий раз, когда моя модель данных обновляется, Ractive правильно обновляет DOM для меня. Но когда я закончу с этим, я хочу динамически настроить размер шрифта в каждом поле, чтобы убедиться, что текст подходит.

Это просто первое, что пришло мне в голову, чтобы подогнать текст под размер, и это может быть неправильным решением... но я удивлен, что не нашел такого события жизненного цикла?

Вот документ, который я просматриваю: http://docs.ractivejs.org/latest/lifecycle-events. Мое приложение использует магический режим для обработки обновлений.


person Ghazgkull    schedule 30.07.2015    source источник
comment
В верхней части моей головы я не могу придумать очень хорошее решение для этого с использованием магического режима (хотя вопрос интересный). Однако, если вы будете использовать Ractive с обычными get/set, Promises (docs.ractivejs.org/latest/ обещания) — это то, что вы ищете.   -  person Leakim    schedule 03.08.2015
comment
Спасибо за комментарий. Если у вас есть опыт работы с Ractive, могу я спросить, что вы думаете о моем ответе ниже? Мне помогло использование декораторов... но хорошая ли это идея?   -  person Ghazgkull    schedule 03.08.2015


Ответы (1)


Если кто-то более знающий в основном не исправит документацию, похоже, что нет никакого события жизненного цикла для прослушивания.

Однако я обнаружил, что концепция декораторов Ractive дает мне функциональность, которую я искал. Передавая декоратор моему экземпляру Ractive, я получаю узлы DOM, созданные RactiveJS, и я могу выполнять любую работу, которую мне нужно сделать (в моем случае, вычисляя, подходит ли текст в узле в своем контейнере и масштабируя его вниз в Javascript).

person Ghazgkull    schedule 30.07.2015