Привязка SAP UI5 посредством ссылки на другое значение - PullRequest
0 голосов
/ 29 ноября 2018

У меня есть большая модель со многими уровнями и атрибутами, и я хочу иметь один вход в моем представлении XML, который всегда будет редактировать 1 атрибут из модели, но каждый раз это будет другой атрибут.

Например, я хочу отредактировать атрибуты по следующим путям:

myModel>/user/0/surname
myModel>/user/1/name
myModel>/user/2/nickname
myModel>/user/3/email

Допустим, теперь меня интересует редактирование псевдонима пользователя nr2, поэтому я сохраню его путь в переменной:

myModel.setProperty("currentlyEditedPath", "myModel>/user/2/nickname");

И я хочу определить свой ввод следующим образом:

<Input value="{myModel>/currentlyEditedPath}" >

И что происходит, так это то, что UI5 позволит мне самостоятельно редактировать строку «myModel> / user / 2 / nickname».Но это неправильно.Я только хочу использовать строку как ссылку на какое-то другое значение глубоко в модели, которое должно быть изменено и обновлено.Возможно, мне следует написать что-то вроде этого, но я не могу найти правильный путь:

<Input value="{ ${myModel> ${myModel>/currentlyEditedPath} } } " >

Есть идеи, пожалуйста?.. как можно проще.Best inline.

1 Ответ

0 голосов
/ 29 ноября 2018

Я думаю, что связывание Элементов - это хороший способ.Не стесняйтесь комментировать это:

var oInput = sap.ui.core.Fragment.byId("myFragmentID","myInputID");
oInput.bindElement("myModel>/user/2");
oInput.bindProperty("value", "myModel>nickname");

Или я также могу поместить значение в XML:

<Input value="{myModel>nickname}" >
...