如何动态引用 属性

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