我已经在Manifest.json文件中创建了一个json模型。我想在onAfterRendering方法中访问此模型。我在下面尝试了提到的获取数据的方法。
var oModel1 = this.getOwnerComponent().getModel("shipData");
var oModel2 = sap.ui.getCore().getModel("shipData") ;
var oModel3 = this.getView().getModel("shipData");
Run Code Online (Sandbox Code Playgroud)
结果是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();
});
Run Code Online (Sandbox Code Playgroud)