Sapui5 从不调用嵌套视图的onBeforeShow
我为嵌套视图的onInit定义了一个处理程序:Sapui5 从不调用嵌套视图的onBeforeShow,sapui5,Sapui5,我为嵌套视图的onInit定义了一个处理程序: this.getView().addEventDelegate({ onBeforeShow: jQuery.proxy(function(oEvent) { this.onBeforeShow(oEvent); }, this) }); 然后: onBeforeShow: function(){ alert("Hello!"); } 但从未调用此处理程序 每次显示嵌套视图时,我需要在嵌套视图的控制器中触
this.getView().addEventDelegate({
onBeforeShow: jQuery.proxy(function(oEvent) {
this.onBeforeShow(oEvent);
}, this)
});
然后:
onBeforeShow: function(){
alert("Hello!");
}
但从未调用此处理程序
每次显示嵌套视图时,我需要在嵌套视图的控制器中触发一个事件。如何执行此操作?,只能在导航控件(在本例中,嵌套视图是NavContainer的直接子级)时调用,如中所述:
当发生导航且显示/隐藏子控件时,事件由其子控件上的触发
这意味着,您必须将嵌套视图包装在NavContainer中,并尽可能将其与Router结合使用,以隐藏和显示视图,以便onBeforeShow工作
下面是一个工作示例:。如果打开浏览器控制台,将看到每次显示嵌套视图时都会调用onBeforeShow