我在Web IDE for SAPUI5中创建了一个Master-Details应用程序.
我将我的应用程序连接到OData服务.连接参数已存储在manifest.json.
我想阻止我的UI5应用程序在从OData端点请求数据时使用批处理请求.
我知道如何使用以下代码禁用特定请求的批处理请求:
var oDataModel = this.getModel();
oDataModel.setUseBatch(false);
Run Code Online (Sandbox Code Playgroud)
但问题是我无法在onInit功能中使用它.我可以设置一些参数manifest.json来禁用批量请求,即使程序加载时也不使用批处理吗?
我在UI5应用程序的Component.js中声明了一个模型,如下所示
init: function() {
sap.ui.core.UIComponent.prototype.init.apply(this);
var oModel1 = new sap.ui.model.json.JSONModel("model/mock.json");
sap.ui.getCore().setModel(oModel1, "oModelForSales");
},
Run Code Online (Sandbox Code Playgroud)
但是无法onInit在控制器内部的任何方法中访问模型,除非在视图上设置模型,如下所示:
var oModel1 = new sap.ui.model.json.JSONModel("model/routes.json");
this.getView().setModel(oModel1);
Run Code Online (Sandbox Code Playgroud)
sap.ui.getCore().getModel("oModelForSales")控制器onInit中的日志显示模型为,undefined但我能够在onBeforeRendering处理程序中获取它.
为什么在Component.js中设置的核心模型无法访问onInit?