Sapui5 无法读取属性';阅读';未定义的
我在我的sapui5应用程序上创建了一个用于测试的mockserverSapui5 无法读取属性';阅读';未定义的,sapui5,Sapui5,我在我的sapui5应用程序上创建了一个用于测试的mockserver manifest.json文件中的dataSources结构的定义如下所示: "dataSources": { "NorthwindService": { "uri": "/", "type": "OData", "settings": { "odataVersion": "2.0", "localUri": "local
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”事件设置事件处理程序。我们以前遇到过此问题:可能存在重复的