Обновления Toomany DOM
Ссылка [ https://ccamel.github.io/playground-binding.scala/index.html содержит несколько демонстрационных примеров binding.scala. Я использовал расширение DomListner в chrome для понимания событий dom., Я обнаружил, что для каждого взаимодействия запускаются сотни событий DOM. Например, одно нажатие на кнопку калькулятора приводит к 114 событиям.
- Это проблема производительности?
- Нужно ли улучшить библиотеку binding.scala?
- Нужно ли оптимизировать код, написанный с использованием binding.scala?
1 ответ
Это ожидаемое поведение, потому что DEMO, который вы упомянули, явно воссоздает элементы привязки.
По словам Скаладока для bind
метод:
Каждый раз, когда значение изменяется, в текущем
@dom
метод, весь код после текущегоbind
выражение будет переоценено
В результате calc.bind
вызовите здесь силы, воссоздающие якорный элемент.
Я создал запрос на изменение, чтобы изменить class
атрибут вместо этого, избегая calc.bind
вызов перед литералами XHTML.