如何动态引用 属性
How to dynamically refer to a property
这是风景。在视图中,我正在尝试读取 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
方法。
为您的元素指定一个 ID。
在你的控制器中,onInit,你
var oMyElement = this.byId(this.createId("<its id>"));
var oLanguage = "en";
oMyElement.bindProperty("items", { path: oLanguage } );
或类似的东西
查看此主题:
SAP UI5- Dynamic Property Binding
这是风景。在视图中,我正在尝试读取 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
方法。
为您的元素指定一个 ID。 在你的控制器中,onInit,你
var oMyElement = this.byId(this.createId("<its id>"));
var oLanguage = "en";
oMyElement.bindProperty("items", { path: oLanguage } );
或类似的东西
查看此主题: SAP UI5- Dynamic Property Binding