yandex-ui / noscript

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

После перерисовки верхнеуровневого вида со вложенным боксом внутри бокса оказывается 2 ноды вложенного вида #660

Open chestozo opened 5 years ago

chestozo commented 5 years ago

Для примерно такого лейаута:

view1 (node1)
  box1 (node2)
    view2 (node3)

происходит перерисовка и выполняется view1._updateHTML(node1')

в результате чего получаем внутри box1 две ноды для вида view2

view1 (node1')
  box1 (node2')
    view2 (node3')
    ? node3

node3 оказывается внутри box1 в результате выполнения метода box1._sortViewNodes().

Проблема уходит, если view2 будет каким-то образом инвалидирована. Но в нашем случае view2 валидна и ns перекладывает старую ноду вида view2 - node3 - в новую ноду бокса box1 - node2'.