如何在 SapUI5 中构建一个 XML 视图来遍历 JSONModel 中的所有元素?
到目前为止,我有一个控制器:
sap.ui.define([
"sap/ui/core/mvc/Controller",
"sap/ui/model/json/JSONModel"
], function (Controller, JSONModel) {
"use strict";
return Controller.extend("sap.ui.demo.myApp.myController", {
onInit: function () {
//// set data model on view
var oData = {
title: "A cool title",
values: [{name: "Text 1"}, {name: "Text 2"}, {name: "Text 3"}]
};
var oModel = new JSONModel(oData);
this.getView().setModel(oModel);
}
});
});
Run Code Online (Sandbox Code Playgroud)
和一个视图:
<mvc:View
controllerName="sap.ui.demo.myApp.myController"
xmlns="sap.m"
>
<Panel expandable="true" expanded="true" headerText="{/title}" width="100%">
<content>
<!-- how to iterate over {/values} ? -->
</content>
</Panel>
</mvc:View>
Run Code Online (Sandbox Code Playgroud)
您可以使用聚合绑定将面板的内容绑定到您的值数组。您必须添加一个模板控件,该控件将为每个数组项克隆。使用模板中的相对绑定路径来访问特定数组项的属性。
<mvc:View
controllerName="sap.ui.demo.myApp.myController"
xmlns="sap.m"
>
<Panel expandable="true" expanded="true" headerText="{/title}" width="100%" content="{/values}">
<content>
<!-- give the template control which will be cloned for each entry in your array -->
<Label text="{name}"/>
</content>
</Panel>
</mvc:View>
Run Code Online (Sandbox Code Playgroud)
我希望这能给你一些帮助。