-
Notifications
You must be signed in to change notification settings - Fork 22
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Нужно событие ns-model-before-invalidate у ns.Model #612
Comments
👍 |
А сохранять это дело перед тем как инвалидировать модельку нельзя? Или хочется типа декларативно сделать? |
Вот это что за момент — как мы ее хотим перезагрузить, сделать руками |
Сразу на твои 1 и 3 комменты ответ: Можно конечно везде, где у модели вызывается |
Ага, понял тебя. Нормальная тема. |
Добавим в этом таске |
Только эти события будут выбиваться из общей логики вызова пачками — нужно сделать |
Ну вот да, возможно проседание производительности.. |
С другой стороны, раз тебе нужно что-то сделать до скрытия ноды — предполагается, что это что-то синхронное. |
Не факт, но допустим ) |
Ну, я к тому, что если тебе нужны только данные от ноды, типа А на |
Но про эту особенность нужно будет помнить, конечно |
Самое очевидное применение перед скрытием view - это анимация, которая не может быть синхронной. |
Не, этот обработчик просто дает тебе возможность подхачиться к моменту перед скрытием — программа в любом случае будет дальше выполняться, после выполнения этого обработчика, не важно что он там будет делать: если вернет промис, то всем пофигу. Поэтому это скорее не про анимации все-таки. |
Да, анимации мы тут не поддержим, это просто lifecycle hook. |
Кажется, полезное событие.
Пример полезного кейса: у нас есть модель-коллекция типа "бесконечный список" с подгрузкой по скроллу.
Когда мы хотим её перезагрузить "по-жёсткому" мы сохраняем число элементов коллекции и запрашиваем ровно столько item-ов.
Было бы удобно сохранять число элементов в коллекции именно по событию типа
ns-model-before-invalidate
.The text was updated successfully, but these errors were encountered: