OpenUI5 / SAPUI5:从REST获取数据并将其显示在List中

时间:2016-01-29 12:45:16

标签: xml rest sapui5

我想从REST API获取数据。这工作到目前为止,但我不能用我的XML视图显示列表...

controller.js

onInit: function () {
    var oContactModel = new sap.ui.model.json.JSONModel();

    oContactModel.loadData(
        "http://localhost:8080/api/v1/contacts", null, true, 'GET'
    );

    sap.ui.getCore().setModel(oContactModel, "restContacts");
};

view.xml用

<List id="contactList" width="auto" items="{restContacts>/}">
    <items>
        <ObjectListItem
            title="{restContacts>/name}"
            type="Navigation"
            press="onPressContact"
        />
    </items>
</List>

当我从控制器到控制台打印模型时,它会向我显示数据。但是当我想在我的XML视图中访问数据时没有任何反应...... 来自REST的数据如下所示:

[
    {
        "id": 1,
        "name": "Thomas123",
        "registrationToken": "laksjdhoi",
        "available": true
    }, {
        "id": 2,
        "name": "Thomas123",
        "registrationToken": "laksjdhoi",
        "available": true
    }
]

1 个答案:

答案 0 :(得分:0)

斜杠aka /通常表示访问数据结构的根级别。

使用/name,解析引擎会尝试查找jsondata.name

之类的内容

你想要的是jsondata[n].name(其中n是数组中联系人的索引)。

忽略斜杠,引擎在当前元素中查找name而不是根元素

<ObjectListItem
    title="{restContacts>name}"
    type="Navigation"
    press="onPressContact"
/>

工作示例:https://jsbin.com/bitehe/edit?html,output