ExtraMarkup уникальный id

Просмотр 15 сообщений - с 16 по 30 (из 37 всего)
  • Автор
    Сообщения
  • #42933
    manjey73
    Участник

    Типа parid или parid[0] ? Чтобы обращаться к ним не по именам а как бы напрямую?

    #42934
    manjey73
    Участник

    Урря, работает.
    Вот бы ещё быстро создавать все экспортируемые свойства после привязки фейсплейта и установки его на мнемосхемы.
    Ну и подлечить {0}, а то пока скриптом от ИИ приходится пользоваться.

    И опять же, я не совсем понимаю два раза делать скрипт domCreated и domUpdated.

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

    #42976
    Boriss
    Участник

    Было-бы не плохо, если прикрутить уникальные id к экспортируемым параметрам…

    Отвечу сам себе.
    В скрипте компонента фейсплейта:

    let idPrefix2 = "id" + args.component._id + "_";
    let max = args.component.parent.properties[<code>${idPrefix2}levelMax</code>];
    let min = args.component.parent.properties[<code>${idPrefix2}levelMin</code>];
    let data = args.component.parent.properties[<code>${idPrefix2}levelData</code>];

    Смотрим id компонента на фейсплейте(в этом случае id=3) и в результате получаем имена экспортируемых свойств для компонента с id=3:
    id3_levelMax
    id3_levelMin
    id3_levelData
    Именно эти имена вписываем в экспортируемые свойства фейсплейта. Не очень удобно, но работает.

    #42977
    Boriss
    Участник

    опять bb коды форума все исковеркали… вместо <code> должна быть одинарная кавычка ‘

    • Ответ изменён 1 месяц, 4 недели назад пользователем Boriss.
    #42979
    manjey73
    Участник

    Меня лично интересуют уникальные id, которые не участвуют в экспортируемых данных, а участвуют в скриптах для изменения svg.

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

    #42980
    manjey73
    Участник

    id3_levelMax — а это и есть жёсткая привязка к номеру, нет?

    #42989
    Boriss
    Участник

    Их можно и не экспортировать, если не надо. Что мешает получить args.component.parent.properties.id3_levelMax из другого скрипта?

    #42990
    Boriss
    Участник

    Чем Вам не угодил номер компонента? какая разница, какой id? Главное уникальный.

    #42991
    manjey73
    Участник

    Надо будет попробовать. Если это уникально внутри фейсплейта, то в некоторых случаях может подойти. Тут вопрос, чтобы уникальность была и на странице, если рассматривать работу с svg. А тут только присваивать and id относительно полного comp17-1-2 и так далее.

    Мне например непонятно, почему args.component.parent.id даёт всегда 0, а не например 17 или 17-2 если например родитель является вложенным фейсплейтов.
    Надо именно через dom.find получать. По другому как бы тоже никак.

    #42992
    manjey73
    Участник

    Потому что на схеме могут быть одинаковые фейсплейты с одинаковыми svg внутри. И делать их копии, руками правя для копий id это глупо.

    Код, который мне дал ИИ вполне рабочий, но требует создания карты id в коде + вызов функции, при чем постоянно, даже в dom или data Updated. А это всегда время загрузки и время обновления.

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

    Исправление войдёт в следующий релиз. Спасибо.

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

    На фейсплейте более 10 одинаковых не стандартных компонентов со скриптами. В скрипте несколько параметров, на подобие «uroven», которые требуется экспортировать. И вот к ним хорошо бы добавить уникальный id как в случае с разметкой. Возможно ли это?

    Имя экспортируемого свойства фейсплейта фиксированное, если вопрос об этом.
    id дочерних компонентов внутри фейсплейта на схеме будут уникальны.

    #43055
    Boriss
    Участник

    На фейсплейте более 10 одинаковых не стандартных компонентов со скриптами. В скрипте несколько переменных, например:
    levelMax
    levelMin
    levelData
    Компоненты одинаковые. Скрипты в компонентах тоже одинаковые. Переменные одинаковые. Компоненты в фейсплейте создаются методом копировать/вставить.
    В этом случае экспортировать переменные из скриптов не получится. Поэтому я добавляю к именам переменных id компонента и они становятся уникальными.
    Для компонента с id=1 экспортируемые свойства:
    id1_levelMax
    id1_levelMin
    id1_levelData

    Для компонента с id=2 экспортируемые свойства:
    id2_levelMax
    id2_levelMin
    id2_levelData

    в одинаковых скриптах одинаковых компонентов:
    let idPrefix = «id» + args.component._id + «_»;
    let levelMax = args.component.parent.properties[«${idPrefix}levelMax»];
    let levelMin = args.component.parent.properties[«${idPrefix}levelMin»];
    let levelData = args.component.parent.properties[«${idPrefix2}levelData»];

    *двойную кавычку («) заменить на одинарную (‘)

    #43056
    Boriss
    Участник

    ну не возможно жеж нормально код выложить… ну да ладно…

    #43057
    manjey73
    Участник

    попробуйте вместо одинарной кавычки использовать " и потом весь код обрамить тегом CODE как раз одинарные кавычки будут

    let idPrefix = "id" + args.component._id + "_";

    • Ответ изменён 1 месяц, 3 недели назад пользователем manjey73.
Просмотр 15 сообщений - с 16 по 30 (из 37 всего)
  • Для ответа в этой теме необходимо авторизоваться.