yandex-ui / noscript

Noscript: JavaScript MVC Framework for building SPA
http://yandex-ui.github.io/noscript/
MIT License
34 stars 22 forks source link

[ns.View] А зачем на каждый show мы снимаем и вешаем обработчики моделей? #479

Closed doochik closed 10 years ago

doochik commented 10 years ago

Вот место: 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

chestozo commented 10 years ago

Я помню, что раньше снимали на hide, но тогда скрытый вид не перерисоввывался. Решили не снимать, а перенавешивать.

Кажется, действительно "зря". Мне не понятно только вот это место https://github.com/yandex-ui/noscript/blob/8532f1b90c7f7d5a7c85729f169f29cc1875515e/src/ns.view.js#L332

doochik commented 10 years ago

Мы сделали так для удобства, если ты вешаешь свою функцию, то мы сразу валидируем вид. Типа поведение по умолчанию. Если надо инвалидировать, то ручками invalidate()

doochik commented 10 years ago

Сделал PR https://github.com/yandex-ui/noscript/pull/481 Стадия insertNodes ускорилась примерно на треть :)