Помогите с обьяснением
Вот к примеру в схеме обьекта:
diff: /**SCHEMA_DIFF*/[
{
"operation": "insert",
"name": "UsrSchema13Detail1dcd436c",
"values": {
"itemType": 2,
"markerValue": "added-detail",
"visible":{"bindTo": "myFunction"} //
},
"parentName": "Tabcf202d7cTabLabel",
"propertyName": "items",
"index": 5
}
]
"visible":{"bindTo": "myFunction"} - Эта функция отрабатывает только в момент инициализации???
Как динамически поменять свойство видимости view элемента?
Например у меня поменялся статус в справочнике представленным view элементом в разделе и мне нужно отобразить на странице деталь(по умолчанию она скрыта)
Нравится
"Как динамически поменять свойство видимости view элемента?" — Биндить на аттрибут.
" "visible":{"bindTo": "myFunction"} - Эта функция отрабатывает только в момент инициализации???" — уж не знаю когда, но отрабатывает она по несколько раз при загрузке страницы (подозреваю, что при рендеринге и ререндеринге элемента)
Роман. "visible":{"bindTo": "myFunction"} по факту делает одностороннее связывание. Вызов функции или же проверка атрибута будут происходить при любом изменении в модели (т.е. даже если вы поменяете соседнее тектосвое поле). И да, Данила подметил верно, при рендеринге и инициализации страницы вызов функции может произойти несколько раз, по этому не стоит громоздить в подобные функции много логики и точно не стоит в них хоть как-то менять остальную модель.
Лучше всего проверять значения соседних полей и основываясь на их содержании менять возвращаемое значение. К примеру:
myFunction: function() {
return this.get("UsrSTRING") === "123";
}