Closed doochik closed 10 years ago
Я помню, что раньше снимали на hide, но тогда скрытый вид не перерисоввывался. Решили не снимать, а перенавешивать.
Кажется, действительно "зря". Мне не понятно только вот это место https://github.com/yandex-ui/noscript/blob/8532f1b90c7f7d5a7c85729f169f29cc1875515e/src/ns.view.js#L332
Мы сделали так для удобства, если ты вешаешь свою функцию, то мы сразу валидируем вид. Типа поведение по умолчанию. Если надо инвалидировать, то ручками invalidate()
Сделал PR https://github.com/yandex-ui/noscript/pull/481 Стадия insertNodes ускорилась примерно на треть :)
Вот место: https://github.com/yandex-ui/noscript/blob/8532f1b90c7f7d5a7c85729f169f29cc1875515e/src/ns.view.js#L272 На каждый _show мы снимаем, а потом вешаем одни и теже обработчики. Зачем? :) В моем понимании их можно повесить один раз на init, как и все ns-view-*.
В _hide мы их никогда не снимаем https://github.com/yandex-ui/noscript/blob/8532f1b90c7f7d5a7c85729f169f29cc1875515e/src/ns.view.js#L228