在SAPUI5中的onAfterRendering方法中获取模型

在SAPUI5中的onAfterRendering方法中获取模型,sapui5,Sapui5,我在Manifest.json文件中创建了一个json模型。我想在onAfterRendering方法中访问此模型。我尝试了下面提到的获取数据的方法 var oModel1 = this.getOwnerComponent().getModel("shipData"); var oModel2 = sap.ui.getCore().getModel("shipData") ; var oModel3 = this.getView().getModel("shipData")

我在Manifest.json文件中创建了一个json模型。我想在onAfterRendering方法中访问此模型。我尝试了下面提到的获取数据的方法

var oModel1 = this.getOwnerComponent().getModel("shipData");
     var oModel2 = sap.ui.getCore().getModel("shipData") ;

     var oModel3 = this.getView().getModel("shipData"); 
结果是oModel1,oModel3被创建,但当我尝试使用getData方法获取数据时,并没有数据

oModel2未定义

如何在onAfterRendering方法中从模型中获取数据

问候,,
Mayank

您可能并不总是使用onAfterRendering方法从JSONModel获取数据。这很可能是因为manifest.JSON中定义的JSON服务请求尚未完成。由于请求的异步性质,您必须等待请求完成。一种方法是在模型上附加一个请求完成事件处理程序

var oModel1 = this.getOwnerComponent().getModel("shipData");
oModel1.attachRequestCompleted(function(event){
   //Run code when request is complete
   var oModel = event.getSource();
   var data = oModel.getData();
});

您可能并不总是在onAfterRendering方法中从JSONModel获取数据。这很可能是因为manifest.JSON中定义的JSON服务请求尚未完成。由于请求的异步性质,您必须等待请求完成。一种方法是在模型上附加一个请求完成事件处理程序

var oModel1 = this.getOwnerComponent().getModel("shipData");
oModel1.attachRequestCompleted(function(event){
   //Run code when request is complete
   var oModel = event.getSource();
   var data = oModel.getData();
});