OData .create request

时间:2017-01-04 21:05:55

标签: javascript sapui5

我正在使用OData v2模型创建简单的SAP Fiori应用程序。 我已经完成了.create(...)请求的实现,它适用于后端系统,但是我的成功回调函数存在问题。

创建新对象后,我想显示Message Toast及其编号,然后返回上一个视图。

如何在成功/错误(_onBatchError)回调中使用_createNotification函数中的对象?

_createNotification: function() {

  var oModel = this.getModel();
  var that = this; 
  // ....

  oModel.create("/NotificationHeaderSet", oNotification, {
				
    success: function(oData, oResponse) {
	  MessageToast.show(oData.NotificationNo);  // How to get i18n ?
      // this.getRouter().navTo("worklist", {}, true);
	},
    error: this._onBatchError
  });

}

this, that, oModel未定义且sap.ui.core.getCore().getModel()给出null(在此回调默认/ i18n模型之外处理正常)

可能是一些虚假错误,但我没有想法。

非常感谢提前。 的Jakub

1 个答案:

答案 0 :(得分:1)

使用jQuery.proxy它应该可以工作:



_createNotification: function() {

  var oModel = this.getModel();
  var that = this; 
  // ....

  oModel.create("/NotificationHeaderSet", oNotification, {
				
    success: jQuery.proxy(function(oData, oResponse) {
	  MessageToast.show(oData.NotificationNo);  // How to get i18n ?
      this.getRouter().navTo("worklist", {}, true);
	}, this),
    error: this._onBatchError
  });

}