0
これは、コントローラinit
方法で私のコードです:ローカルJSONファイルとデータ
mycontroller = this
var data = [{
"No": "456980",
"Updates": [{
"Test": "abc"
}, {
"Test": "bca"
}, {
"Test": "dbd"
}]
}, {
"No": "456980",
"Updates": [{
"Test": "abc"
}, {
"Test": "bca"
}, {
"Test": "dbd"
}]
}, {
"No": "456980",
"Updates": [{
"Test": "abc"
}, {
"Test": "bca"
}, {
"Test": "dbd"
}]
}]
var oModel = new sap.ui.model.json.JSONModel();
oModel.setData(data);
//set this model to list control having custom list as aggregation
mycontroller.List1.setModel(oModel);
mycontroller.List1.bindAggregation("items", {
path: "/",
template: mycontroller.List1_template
});
var ListItems = P1Notificationcontroller.list1.getItems();
var ListLength = ListItems.length;
for (var i = 0; i < ListLength; i++) {
var control = "status_vbox-list1-" + i;
sap.ui.getCore().byId(control).bindAggregation("items", {
path: "Updates",
template: new sap.m.Text('', {
text: '{Update}'
})
});
}
ビュー宣言init
方法が完全に正常に動作ビューとコントローラにコンテンツ
oController.List1 = new sap.m.List("List1", {
headerDesign: sap.m.ListHeaderDesign.Standard
});
oController.List1_template = new sap.m.CustomListItem("McustomlistItem", {
content: [
new sap.m.VBox('', {
items: [
new sap.m.Text('', {
text: "{No}"
})
new sap.m.VBox('status_vbox', {
items: []
})
]
}));
上記のコードを作成しますカスタムリストVBox
の項目は、データの更新配列から集計されます。我々はループオブジェクトにできないため、コード
var jsonmodel = new sap.ui.model.json.JSONModel("mockData/local.json");
mycontroller.List1.setModel(jsonmodel)
のこのラインをVBox
のループを使用して、ローカルJSONファイル& に維持同じデータが失敗している
。私は両方のモデルのCONSOLE.LOG ODataのオブジェクトのループが
が起きていないので、一つのモデルの属性は、我々はへのローカルJSONファイル内の同じデータを維持できるか、配列やオブジェクトなどの他として表示され
上記のようにupdates属性をカスタムリスト項目のVBox
にループします。
以下のようにローカルのJSONモデルを埋めるためにjqueryのAJAX呼び出しを呼び出すことにより解決される問題sap.ui.model.json.JSONModel.html#loadData) 'メソッドを' async'を 'false'とした場合 – Rayon
レーヨンで私のコードにこのメソッドを明示的に含めることができますか? – user3349850
提供されたURLを参照してください。 – Rayon