Изменение в построенном DOM

Просмотр 8 сообщений - с 16 по 23 (из 23 всего)
  • Автор
    Сообщения
  • #43999
    Mikhail
    Модератор

    Это все работает с исходником svg из фейсплейта, не со страницей, на которую этот svg помещен.

    args.component.dom — это доступ к конкретному элементу на веб-странице, а не к исходному скрипту.

    #44001
    manjey73
    Участник

    тогда не копируйте код Разметки постоянно в DOM при (или перед) запуском domUpdated, раз args.component.dom это именно на web странице.

    проверить же элементарно. Или опять у вас работает, а в 6.4.6 еще не поправлено?

    иначе у меня и вопросов бы не возникло по данному поводу.

    #44002
    manjey73
    Участник

    Изменение ТУТ?

    Тут на скрине видна группа svg comp4-1sym по умолчанию в разметке она ПУСТА
    Все, что вы в ней видите на скрине, создано в domCtreated.

    Оставляем пустой domUpdated и вся группа окажется пустой сразу же, после первой сработки domUpdated.
    Что видно на последующем видео, которое я выложил. Сперва появляются линии внутри объекта и тут же все пропадает. Смотрим в консоль — группа пуста. Значит вся Разметка была обновлена из исходника фейсплейта.

    Обновление экрана 1

    • Ответ изменён 1 день, 6 часов назад пользователем manjey73.
    • Ответ изменён 1 день, 5 часов назад пользователем manjey73.
    #44006
    manjey73
    Участник

    не проверял на Damper. Попробуйте в domCreated покрасить любой элемент в ядовитый цвет.
    domUpdated оставьте пустым {}, чтобы он не запускал тот же скрипт и посмотрите результат в консоли на запущенной мнемосхеме.

    #44019
    Mikhail
    Модератор

    тогда не копируйте код Разметки постоянно в DOM

    Кажется более-менее понятно, в чём проблема.
    Рендерер компонента имеет свойство canUpdateDom, которое определяет, будет ли DOM полностью заменён на новый при обновлении или будут затронуты только свойства. Для компонента Разметка DOM полностью обновляется, поэтому в методе domUpdated нужно заново отрисовывать изменения.

    #44020
    manjey73
    Участник

    И после dataUpdated автоматом запускается domUpdated?
    Кстати почему в dataUpdated не срабатывает console.log ? Больше там ничего нет.

    И вот выше написанное, это архи хреново. Потому что нужно изменить только скажем цвет одного элемента, надо полностью выполнять полностью скрипт и соответственно всю портянку, учитывать изменения и т.д.
    Вместо простых функций в domUpdated — получили новое значение, отрисуй только этот элемент компонента, а не все целиком.

    • Ответ изменён 1 час, 12 минут назад пользователем manjey73.
    #44022
    manjey73
    Участник

    з.ы. добавить в скрипт вызов или установку некой переменной, чтобы не заменялась Разметка полность есть возможность?

    #44023
    manjey73
    Участник

    get canUpdateDom() {
    return true;
    }

    А типа сюда же вставить что-то, чтобы можно было управлять из скрипта компонента и(или) скрипта фейсплейта, надо оно мне перестраивать Dom или не надо.
    Вот лично мне эти вызовы из domUpdated выполнения полного скрипта как собаке пятая нога.

Просмотр 8 сообщений - с 16 по 23 (из 23 всего)
  • Для ответа в этой теме необходимо авторизоваться.