我有一个 SAPUI5 面板,可以在各种情况下因各种原因间接销毁该面板(例如,在本示例中,父级的父级被销毁)。因此,我必须使用来自控件本身的函数 Hook 。
我尝试调用exit函数(基于this堆栈溢出问题和this SAPUI5文档)
var oGrandParentPanel = new sap.m.Panel();
var oParentPanel = new sap.m.Panel();
var oPanel = new sap.m.Panel({
exit: function(){
alert("FOOBAR!");
}});
oParentPanel.addContent(oPanel);
oGrandParentPanel.addContent(oParentPanel);
oGrandParentPanel.destroy();
我想要一个“FOOBAR!”警报,但我没有明白。
最佳答案
我认为您将生命周期方法与事件混淆了。生命周期方法在控件内定义,控件可以实现也可以不实现它们。事件是您可以将自己的功能绑定(bind)到的 Hook 。
如果您想要一个调用事件的面板(您可以将自己的逻辑附加到该事件),您可以对面板控件进行子类化。您可以在元数据和 onExit
方法中定义一个新事件,然后可以触发该事件。
如果您有兴趣在用户关闭浏览器时快速执行某些操作,您还可以使用 window.onbeforeunload
和 window.onunload
。不幸的是,它们并不是 100% 独立于浏览器,并且不能保证它们会被调用。
关于javascript - SAPUI5:当某些东西被破坏时函数 Hook ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38636862/