Sapui5 无法读取属性';阅读';未定义的

Sapui5 无法读取属性';阅读';未定义的,sapui5,Sapui5,我在我的sapui5应用程序上创建了一个用于测试的mockserver manifest.json文件中的dataSources结构的定义如下所示: "dataSources": { "NorthwindService": { "uri": "/", "type": "OData", "settings": { "odataVersion": "2.0", "localUri": "local

我在我的sapui5应用程序上创建了一个用于测试的mockserver

manifest.json
文件中的
dataSources
结构的定义如下所示:

"dataSources": {
    "NorthwindService": {
        "uri": "/",
        "type": "OData",
        "settings": {
            "odataVersion": "2.0",
            "localUri": "localService/metadata.xml"
        }
    }
}
以及模型定义:

"models": {
    "i18n": {
        "type": "sap.ui.model.resource.ResourceModel",
        "settings": {
            "bundleName": "ch.app.northwind.i18n.i18n"
        }
    },
    "northwind": {
        "uri": "",
        "type": "sap.ui.model.odata.v2.ODataModel",
        "settings": {
            "defaultOperationMode": "Server",
            "defaultBindingMode": "OneWay",
            "defaultCountMode": "Request"
        },
        "dataSource": "NorthwindService",
        "preload": true
    }
},
调用模型控制器:

this.getView().getModel("northwind")
.read("/Customers/$count", {
  success: function(oData) {
    jQuery.sap.log.info(oData);
  },
  error: function(oError) {
    jQuery.sap.log.info(oError);
  }
});   
它抱怨说:

Overview.controller.js?eval:29 Uncaught (in promise) TypeError: Cannot read property 'read' of undefined
    at f.queryTotalCustomers (Overview.controller.js?eval:29)
    at f.onInit (Overview.controller.js?eval:12)
    at f.a.fireEvent (EventProvider-dbg.js:228)
    at f.a.fireEvent (Element-dbg.js:431)
    at f.fireAfterInit (ManagedObjectMetadata-dbg.js:568)
    at r (Component-dbg.js:162)
    at f.h.runAsOwner (Component-dbg.js:549)
    at P (View-dbg.js:429)
    at eval (View-dbg.js:467)  

我做错了什么?

首先:不要为数据源和模型设置“/”或空URI。给他们一条你喜欢的路,不同于那条路。 “/”是为主页或index.html保留的

第二,确保在实例化模型后立即获取模型,而在实例化之前不获取模型。可能您正在onInit事件中获取模型,但它尚未准备好。使用另一个事件或为模型的“metadataLoaded”事件设置事件处理程序。

我们以前遇到过此问题:可能存在重复的