控制器生命周期的顺序在sap.m.NavContainer中挂钩onInit()

时间:2015-02-05 13:22:42

标签: lifecycle sapui5

鉴于我有一个视图 App.view.xml ,其中包含视图 Login.view.xml

<mvc:View
        xmlns:mvc="sap.ui.core.mvc"
        xmlns="sap.m"
        displayBlock="true"
        controllerName="App">
    <Shell showLogout="false">
        <NavContainer id="loginNavContainer">
            <mvc:XMLView id="loginView" viewName="Login" />
        </NavContainer>
    </Shell>
</mvc:View>

当我向生命周期挂钩App.view.controller.onInit()Login.view.controller.onInit()添加断点时,我希望App控制器中的onInit()在Login控制器的onInit()之前调用。 但事实恰恰相反。在App控制器的onInit()之前调用Login控制器的生命周期钩onInit()

应用程序视图由sap.ui.core.UIComponent实例化/创建。

有人能解释我为什么吗?

1 个答案:

答案 0 :(得分:1)

onInit == onAfterInit

sap.ui.core.mvc.View::_initCompositSupport

中解雇

视图及其内容是在视图的init方法中创建的。完成这些操作后,将触发视图 After Init 上的

希望这有帮助。