与detachPageDataLoaded的Dettach事件

时间:2019-06-25 10:18:28

标签: sapui5

我需要分离并使用以下代码附加事件:

var oNavController = this.getOwnerComponent().getAppComponent().getNavigationController();
this.extensionAPI.attachPageDataLoaded(this._executeTrampolin.bind(this, oNavController));

这是标准代码,我不想更改它。

因此,我尝试使用以下代码从扩展程序中删除此事件:

var that = this.base.getView().getController();
var oNavController = that.getOwnerComponent().getAppComponent().getNavigationController();
that.extensionAPI.detachPageDataLoaded(that._executeTrampolin.bind(that, oNavController))

但是事件并没有脱离。

1 个答案:

答案 0 :(得分:0)

const myFn = function() {};
const myFn2 = myFn.bind(thisArg);
myFn === myFn2; // returns: false

Function.prototype.bind为给定功能创建新的副本

bind()方法创建一个新函数[...]。

即分离事件处理程序时,必须传递与一次调用this._executeTrampolin.bind(this, oNavController)来附加该处理程序时创建的完全相同的引用。