Вот вид. В представлении я пытаюсь прочитать значение свойств en и пытаюсь сделать его динамическим.
<VBox items = "{mDialog>/data/en}">
<VBox></VBox>
</VBox>
Я пытаюсь передать «en» динамически, чтобы он также мог указывать на «fr».
Вот данные модели
data: {
en: [
{
type: "Scale",
name: 1,
shortDescription: "Lalala1",
longDescription: "uh la la la1"
}
],
fr: [
{
type: "Scale",
name: 1,
shortDescription: "FR Lalala1",
longDescription: "FR uh la la la1"
}
],
de: [
{
type: "Scale",
name: 1,
shortDescription: "FR Lalala1",
longDescription: "FR uh la la la1"
}
]
}
Я не думаю, что вы можете это сделать, потому что представления не выполняют предварительную обработку строк привязки, которые вы вводите таким образом. Таким образом, вы не можете динамически называть свойство таким образом.
Что вы можете сделать, так это использовать метод .bindProperty
.
Дайте вашему элементу идентификатор. В вашем контроллере onInit вы
var oMyElement = this.byId(this.createId("<its id>"));
var oLanguage = "en";
oMyElement.bindProperty("items", { path: oLanguage } );
или что-то типа того
Смотрите эту тему: SAP UI5 — привязка динамических свойств
Используйте средство форматирования