我一直在学习主从演示,下面是Master.controller.js
中的一个片段
onInit : function() {
this.getView().addEventDelegate({
onBeforeFirstShow: function () {
this.getOwnerComponent().oListSelector.setBoundMasterList(oList);
}.bind(this)
});
}
我无法理解该事件委托,因为我没有在任何控件/视图API文档中看到
onBeforeFirstShow
事件。这是只是用户定义的事件还是预定义的事件?
我试过了
this.getView().addEventDelegate({
onBeforeFirstShow: function () {
console.log("onBeforeFirstShow");
}.bind(this),
onAfterRendering: function () {
console.log("onAfterRendering");
}.bind(this)
});
看来它发生在
onAfterRendering
之前。除了:this.getView().onAfterRendering
返回了function
this.getView().onBeforeFirstShow
返回了undefined
。我已经搜索了Controller和View的文档以及sap.ui.core.mvc.Controller和sap.ui.core.mvc.View的源代码。只有四种生命周期方法。
最佳答案
事件beforeFirstShow
可用于该视图,因为该视图是NavContainer
的直接聚合子级。除此之外,目前还有afterHide
afterShow
beforeHide
beforeShow
当发生导航并显示/隐藏子控件时,这些事件由其子控件(在本例中为视图)上的sap.m.NavContainer
触发。
关于javascript - 为什么onBeforeFirstShow可以工作?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44882085/