Sapui5 如何在数组sapui 5中绑定json对象?
我的文件controller.js 现在希望使用SAPUI5在数组中绑定json对象。我正在尝试下面的代码Sapui5 如何在数组sapui 5中绑定json对象?,sapui5,Sapui5,我的文件controller.js 现在希望使用SAPUI5在数组中绑定json对象。我正在尝试下面的代码 onInit: function() { var elementArray=['ID','Name','Description','ReleaseDate','DiscontinuedDate','Rating','Price']; var oModel = new sap.ui.model.json.JSONModel(elementArray);
onInit: function() {
var elementArray=['ID','Name','Description','ReleaseDate','DiscontinuedDate','Rating','Price'];
var oModel = new sap.ui.model.json.JSONModel(elementArray);
sap.ui.getCore().setModel(oModel,'fieldArray');
// var oModel = new sap.ui.model.json.JSONModel('./smartappall/door.josn');
// sap.ui.getCore().setModel(oModel,'approcords');
},
view.js
var elementArray= bind fieldArray json model here
我不确定您试图实现什么,但由于您的模型仅包含阵列,因此在您的视图中,您可以执行以下操作:
var elementArray=sap.ui.getCore().getModel(“fieldArray”).getData()代码>
(已编辑:忘记了getData()
part…)
但通常情况下,您不会将对象或数组存储在专用模型中,而是使用一个模型将它们存储在单独的属性中。在这种情况下,您可以执行以下操作:
在控制器中:
sap.ui.getCore().getModel(“fieldArray”).setProperty(“/pathToYourArray”,elementArray”);
鉴于:
var elementArray=sap.ui.getCore().getModel(“fieldArray”).getProperty(“/pathtoyarray”);
JSONModel数据必须是一个普通的javascript对象,即不是javascript数组
您可以按照前面的答案将数组设置为JSONModel的属性,也可以修改初始数组以将其封装在对象中:
onInit: function() {
var data = { elementArray: [
'ID',
'Name',
'Description',
'ReleaseDate',
'DiscontinuedDate',
'Rating',
'Price'
]};
var oModel = new sap.ui.model.json.JSONModel(data);
sap.ui.getCore().setModel(oModel,'fieldArray');
},
然后可以将视图绑定到{fieldArray>/elementArray}我有一个错误:TypeError:sap.ui.getCore(…).getModel(…)未定义。您的代码中一定有错误,请参见此示例:但请记住,您通常不希望在视图中编写任何代码;所有逻辑都应在控制器中;)我认为Stackoverflow不允许发布私人信息,但您可以在谷歌上搜索我的联系人详细信息的“资格”;而我完全同意一个模型应该由键值组成,您也可以在JSONModel中完美地使用一个简单的字符串数组;在这种情况下,您绑定到{fieldArray>/}
并聚合到{fieldArray>}
(是的,它看起来非常丑陋;)