Ответы в темах
-
АвторСообщения
-
Boriss
УчастникРаботает. Данные, статусы и пр. отправляет. Полезная штука, пригодится.
В моем представлении генератор, это возможность что-то генерировать, а не просто отправлять данные. Например изменять значение канала в заданном диапазоне с определенной скоростью. Или отправлять данные с определенной периодичностью. Т.е. имитировать работу какого-то датчика, счетчика и т.д. Это возможно? Или это слишком?Boriss
УчастникС двойной кавычкой это синтаксическая ошибка в скрипте.
Boriss
УчастникНе работает. В коде вместо кавычек должны быть апострофы `
let levelMax = args.component.parent.properties["${idPrefix}levelMax"];Boriss
УчастникПопробуем…
let levelMax = args.component.parent.properties[${idPrefix}levelMax];Boriss
УчастникУ Вас скрипт есть в фейсплейте. Это и есть костыль. Уберите его и скрипт компонента вообще не будет работать. Это и есть проблема.
Boriss
Участникну не возможно жеж нормально код выложить… ну да ладно…
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»];*двойную кавычку («) заменить на одинарную (‘)
Boriss
УчастникСейчас всё это работает через костыли( скрипт фейсплейта). А должно работать через метод dataUpdated(args){} в скрипте компонента. Надо ждать новый релиз.
Boriss
УчастникСкачал. Посмотрел. Все интересно…
Подозреваю, что это связано с тем, что не работает метод dataUpdated(args){}
Срабатывает domUpdated(args){}Мнемосхема открыта в редакторе и на ней фейсплейт. Меняем экспортируемое свойство upr и меняется args.component.properties.imageName Сразу. Что видно в консоли. Но сама картинка не обновляется. Что-бы обновилось, достаточно снять/поставить галку «Видимый» или любую другую. Т.е. надо заставить сработать domUpdated(args){}
Это в редакторе. А в представлении уже не заставить работать этот скрипт.Надо ждать…
Boriss
УчастникЧем Вам не угодил номер компонента? какая разница, какой id? Главное уникальный.
Boriss
УчастникИх можно и не экспортировать, если не надо. Что мешает получить
args.component.parent.properties.id3_levelMaxиз другого скрипта?Boriss
Участникопять bb коды форума все исковеркали… вместо
<code>должна быть одинарная кавычка ‘-
Ответ изменён 1 месяц, 2 недели назад пользователем
Boriss.
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
Именно эти имена вписываем в экспортируемые свойства фейсплейта. Не очень удобно, но работает.Boriss
УчастникБыло-бы не плохо, если прикрутить уникальные id к экспортируемым параметрам…
Вопрос к Mikhail
На фейсплейте более 10 одинаковых не стандартных компонентов со скриптами. В скрипте несколько параметров, на подобие «uroven», которые требуется экспортировать. И вот к ним хорошо бы добавить уникальный id как в случае с разметкой. Возможно ли это?Boriss
УчастникМожно. Объявите props2 или propsP или как-то еще:
let props2 = args.component.parent.properties
и ссылка сократится до
props2.uroven -
Ответ изменён 1 месяц, 2 недели назад пользователем
-
АвторСообщения