【问题标题】:SAPUI5 this.getView in attachRequestCompletedSAPUI5 this.getView 在 attachRequestCompleted
【发布时间】:2017-09-05 03:18:26
【问题描述】:

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

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 吗?我怎样才能让它工作? 谢谢, 蒂姆

【问题讨论】:

    标签: sapui5


    【解决方案1】:

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

    如您所见here,您可以将 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);
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多