javascript - 为什么 onBeforeFirstShow 有效?

标签 javascript sapui5

我一直在学习master-detail demo,下面是Master.controller.js中的一个片段

onInit : function() {
    this.getView().addEventDelegate({
        onBeforeFirstShow: function () {
            this.getOwnerComponent().oListSelector.setBoundMasterList(oList);
        }.bind(this)
    });
}

我无法理解事件委托(delegate),因为我没有在任何控件/ View API 文档中看到 onBeforeFirstShow 事件。

这是用户定义的事件还是预定义的事件?


我试过了

this.getView().addEventDelegate({
    onBeforeFirstShow: function () {
        console.log("onBeforeFirstShow");
    }.bind(this),
    onAfterRendering: function () {
        console.log("onAfterRendering");
    }.bind(this)
});

好像发生在onAfterRendering之前。此外:

  • this.getView().onAfterRendering 返回函数
  • this.getView().onBeforeFirstShow 返回 undefined

我在Controller的文档中搜索过和 View , 以及 sap.ui.core.mvc.Controller 的源代码和 sap.ui.core.mvc.View .只有四种生命周期方法。

最佳答案

事件 beforeFirstShow 可用于 View ,因为该 View 是 NavContainer 的直接聚合子级.除此之外,目前还有

  • 隐藏后
  • afterShow
  • 隐藏之前
  • beforeShow

那些事件是由 sap.m.NavContainer 触发的当发生导航并显示/隐藏子控件时,在其子控件(在我们的示例中为 View )上。

关于javascript - 为什么 onBeforeFirstShow 有效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44882085/

相关文章:

javascript - jQuery 验证不适用于输入数组

javascript - 在组合属性选择器中使用 OR 条件

javascript - 隐藏包含与所选文本相同的文本的 div?

sapui5 - SAP Fiori 在 UI5 应用程序中获取登录的用户详细信息

javascript - 在 JavaScript/SAPUI5 中读取 Excel (xlsx) 文件数据的问题

javascript - 当用户使用 jquery 聚焦到 textarea 时显示按钮

javascript - 使用 CSS 样式化 SVG 图像

javascript - SAPUI5 : How to find the item from sap. m.list 如果我只有该对象?

日期选择器 : How to change the focus of calendar to today's date in UI5?

javascript - getBindingContext() 获取未定义的属性