Sapui5 如何在数组sapui 5中绑定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);

我的文件controller.js

现在希望使用SAPUI5在数组中绑定json对象。我正在尝试下面的代码

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>}
(是的,它看起来非常丑陋;)