一个应用程序中的JSON和OData模型。 JSON模型绑定向OData发送请求

时间:2015-07-20 08:13:38

标签: javascript sapui5

我正在开发一个使用不同模型在UI5应用程序中显示各种数据的应用程序。

在Component.js中,我将OData模型定义并绑定到应用程序。

_updateTable: function(data, tableId) {
    var table = this.getView().byId(tableId);
    var jsonModel = new sap.ui.model.json.JSONModel();
    jsonModel.setData(data);
    table.setModel(jsonModel);
},

对于表,我使用JSON模型,该模型绑定在XML视图中。

XML控制器:

<Table
    id="supplierTable"
    fixedLayout="false"
    headerText="Lieferantenübersicht"
    items="{/results}">

XML:

var jsonModel = new sap.ui.model.json.JSONModel("tableModel");

我的问题是/ results正在创建一个不必要的OData调用,我想阻止它。

我试着像这样命名JSON模型:

items="{tableModel>/results}">

我在XML视图中使用:

<p>Problem accessing /EIM_POSTING_RATE/tableModel. Reason:
<pre>    Not Found</pre></p><hr /><i><small>Powered by Jetty://</small></i><br/>                                                

但是我收到以下错误:

{{1}}


有关如何阻止OData呼叫的任何建议吗?

1 个答案:

答案 0 :(得分:1)

要使用命名模型,您需要按以下方式将其注册到视图(或表)。

this.getView().setModel(jsonModel, "tableModel");

您需要调整属性绑定才能使用此模型。例如:

<Text text="{tableModel>text}"/>

使用

触发自动请求
new sap.ui.model.json.JSONModel("tableModel");

因为JSONModel要么要求存储表示数据的对象,要么使用用于加载数据的URL。