Стартовая страница › Форумы › Понять, как работает ПО › Мнемосхемы › Изменение в построенном DOM
- В этой теме 22 ответа, 2 участника, последнее обновление 30 минут назад сделано
manjey73.
-
АвторСообщения
-
22.06.2026 в 14:28 #43999
MikhailМодераторЭто все работает с исходником svg из фейсплейта, не со страницей, на которую этот svg помещен.
args.component.dom — это доступ к конкретному элементу на веб-странице, а не к исходному скрипту.
22.06.2026 в 14:32 #44001
manjey73Участниктогда не копируйте код Разметки постоянно в DOM при (или перед) запуском domUpdated, раз args.component.dom это именно на web странице.
проверить же элементарно. Или опять у вас работает, а в 6.4.6 еще не поправлено?
иначе у меня и вопросов бы не возникло по данному поводу.
22.06.2026 в 14:36 #44002
manjey73УчастникТут на скрине видна группа svg
comp4-1symпо умолчанию в разметке она ПУСТА
Все, что вы в ней видите на скрине, создано в domCtreated.Оставляем пустой domUpdated и вся группа окажется пустой сразу же, после первой сработки domUpdated.
Что видно на последующем видео, которое я выложил. Сперва появляются линии внутри объекта и тут же все пропадает. Смотрим в консоль — группа пуста. Значит вся Разметка была обновлена из исходника фейсплейта.23.06.2026 в 08:32 #44006
manjey73Участникне проверял на Damper. Попробуйте в domCreated покрасить любой элемент в ядовитый цвет.
domUpdated оставьте пустым {}, чтобы он не запускал тот же скрипт и посмотрите результат в консоли на запущенной мнемосхеме.23.06.2026 в 19:12 #44019
MikhailМодератортогда не копируйте код Разметки постоянно в DOM
Кажется более-менее понятно, в чём проблема.
Рендерер компонента имеет свойство canUpdateDom, которое определяет, будет ли DOM полностью заменён на новый при обновлении или будут затронуты только свойства. Для компонента Разметка DOM полностью обновляется, поэтому в методе domUpdated нужно заново отрисовывать изменения.23.06.2026 в 19:27 #44020
manjey73УчастникИ после dataUpdated автоматом запускается domUpdated?
Кстати почему в dataUpdated не срабатывает console.log ? Больше там ничего нет.И вот выше написанное, это архи хреново. Потому что нужно изменить только скажем цвет одного элемента, надо полностью выполнять полностью скрипт и соответственно всю портянку, учитывать изменения и т.д.
Вместо простых функций в domUpdated — получили новое значение, отрисуй только этот элемент компонента, а не все целиком.-
Ответ изменён 1 час, 12 минут назад пользователем
manjey73.
23.06.2026 в 19:30 #44022
manjey73Участникз.ы. добавить в скрипт вызов или установку некой переменной, чтобы не заменялась Разметка полность есть возможность?
23.06.2026 в 20:10 #44023
manjey73Участникget canUpdateDom() {
return true;
}А типа сюда же вставить что-то, чтобы можно было управлять из скрипта компонента и(или) скрипта фейсплейта, надо оно мне перестраивать Dom или не надо.
Вот лично мне эти вызовы из domUpdated выполнения полного скрипта как собаке пятая нога. -
Ответ изменён 1 час, 12 минут назад пользователем
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.