Обновления Toomany DOM

Ссылка [ https://ccamel.github.io/playground-binding.scala/index.html содержит несколько демонстрационных примеров binding.scala. Я использовал расширение DomListner в chrome для понимания событий dom., Я обнаружил, что для каждого взаимодействия запускаются сотни событий DOM. Например, одно нажатие на кнопку калькулятора приводит к 114 событиям.

  1. Это проблема производительности?
  2. Нужно ли улучшить библиотеку binding.scala?
  3. Нужно ли оптимизировать код, написанный с использованием binding.scala?

DomListener ScreenShot

1 ответ

Решение

Это ожидаемое поведение, потому что DEMO, который вы упомянули, явно воссоздает элементы привязки.

По словам Скаладока для bind метод:

Каждый раз, когда значение изменяется, в текущем @dom метод, весь код после текущего bind выражение будет переоценено

В результате calc.bind вызовите здесь силы, воссоздающие якорный элемент.


Я создал запрос на изменение, чтобы изменить class атрибут вместо этого, избегая calc.bind вызов перед литералами XHTML.

Другие вопросы по тегам