attachRequestCompleted中的SAPUI5 this.getView

时间:2017-04-10 07:23:09

标签: sapui5

我正在将数据加载到我的模型并附加了attachRequestCompleted。在那里我想为一个字段设置一个值,但它返回 this.getView不是一个函数。这整个事情都在一个区间内: 我的代码如下所示:

var intervalId = setInterval(this.readRfid.bind(this), 3000);

readRfid: function() {

var oRfidModel = new sap.ui.model.xml.XMLModel();

    oRfidModel.loadData("http://localhost/xxxxxxx");    
    oRfidModel.attachRequestCompleted(function() {

      var reader = oRfidModel.oData.children["0"].children["0"].innerHTML;    
      this.getView().byId("objHdr_det_id1").setNumberUnit(reader);
});

我可以在函数中使用this.getView吗?我怎样才能使它工作? 谢谢, 添

1 个答案:

答案 0 :(得分:1)

this实例未指向Controller。 您可能需要将上下文绑定到您传递给attachRequestCompleted的回调函数。

如您所见[{3}},您可以将oListener传递给此方法。

我猜是这样的:

    var oRfidModel = new sap.ui.model.xml.XMLModel();

    oRfidModel.loadData("http://localhost/xxxxxxx");    
    oRfidModel.attachRequestCompleted(function() {

       var reader = oRfidModel.oData.children["0"].children["0"].innerHTML;    
       this.getView().byId("objHdr_det_id1").setNumberUnit(reader);

    }, this);

会工作吗? 如果这对您没有帮助,您可以here回调的上下文。