Стартовая страница › Форумы › Понять, как работает ПО › Мнемосхемы › ExtraMarkup уникальный id
- В этой теме 36 ответов, 3 участника, последнее обновление 1 месяц, 3 недели назад сделано
manjey73.
-
АвторСообщения
-
24.04.2026 в 08:49 #42933
manjey73УчастникТипа parid или parid[0] ? Чтобы обращаться к ним не по именам а как бы напрямую?
24.04.2026 в 10:00 #42934
manjey73УчастникУрря, работает.
Вот бы ещё быстро создавать все экспортируемые свойства после привязки фейсплейта и установки его на мнемосхемы.
Ну и подлечить {0}, а то пока скриптом от ИИ приходится пользоваться.И опять же, я не совсем понимаю два раза делать скрипт domCreated и domUpdated.
Скажем так их назначение дубляжа для меня несколько непонятно, учитывая, что domUpdated так же работает с исходником из компонента, а не с реальной уже страницей.
27.04.2026 в 10:15 #42976Boriss
УчастникБыло-бы не плохо, если прикрутить уникальные 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
Именно эти имена вписываем в экспортируемые свойства фейсплейта. Не очень удобно, но работает.27.04.2026 в 10:19 #42977Boriss
Участникопять bb коды форума все исковеркали… вместо
<code>должна быть одинарная кавычка ‘-
Ответ изменён 1 месяц, 4 недели назад пользователем
Boriss.
27.04.2026 в 10:51 #42979
manjey73УчастникМеня лично интересуют уникальные id, которые не участвуют в экспортируемых данных, а участвуют в скриптах для изменения svg.
И при этом никак не зависят от номера компонента, который будет назначен тому или иному компоненту.
27.04.2026 в 10:52 #42980
manjey73Участникid3_levelMax — а это и есть жёсткая привязка к номеру, нет?
27.04.2026 в 11:58 #42989Boriss
УчастникИх можно и не экспортировать, если не надо. Что мешает получить
args.component.parent.properties.id3_levelMaxиз другого скрипта?27.04.2026 в 12:02 #42990Boriss
УчастникЧем Вам не угодил номер компонента? какая разница, какой id? Главное уникальный.
27.04.2026 в 12:10 #42991
manjey73УчастникНадо будет попробовать. Если это уникально внутри фейсплейта, то в некоторых случаях может подойти. Тут вопрос, чтобы уникальность была и на странице, если рассматривать работу с svg. А тут только присваивать and id относительно полного comp17-1-2 и так далее.
Мне например непонятно, почему args.component.parent.id даёт всегда 0, а не например 17 или 17-2 если например родитель является вложенным фейсплейтов.
Надо именно через dom.find получать. По другому как бы тоже никак.27.04.2026 в 12:13 #42992
manjey73УчастникПотому что на схеме могут быть одинаковые фейсплейты с одинаковыми svg внутри. И делать их копии, руками правя для копий id это глупо.
Код, который мне дал ИИ вполне рабочий, но требует создания карты id в коде + вызов функции, при чем постоянно, даже в dom или data Updated. А это всегда время загрузки и время обновления.
29.04.2026 в 16:27 #43045
MikhailМодераторИсправление войдёт в следующий релиз. Спасибо.
29.04.2026 в 16:29 #43046
MikhailМодераторНа фейсплейте более 10 одинаковых не стандартных компонентов со скриптами. В скрипте несколько параметров, на подобие «uroven», которые требуется экспортировать. И вот к ним хорошо бы добавить уникальный id как в случае с разметкой. Возможно ли это?
Имя экспортируемого свойства фейсплейта фиксированное, если вопрос об этом.
id дочерних компонентов внутри фейсплейта на схеме будут уникальны.29.04.2026 в 22:06 #43055Boriss
УчастникНа фейсплейте более 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»];*двойную кавычку («) заменить на одинарную (‘)
29.04.2026 в 22:10 #43056Boriss
Участникну не возможно жеж нормально код выложить… ну да ладно…
29.04.2026 в 22:54 #43057 -
Ответ изменён 1 месяц, 4 недели назад пользователем
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.