我正在将数据加载到我的模型并附加了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吗?我怎样才能使它工作? 谢谢, 添
答案 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回调的上下文。