view controller lifecycle discussion - beforeRendering

56 阅读1分钟

Created by Jerry Wang on Aug 07, 2014

BeforeRendering Trigger point:

 

Callstack1:

 

h就是当前的html document:

Callstack2: 在当前的ui5 document ready之后,执行finishTask操作。

Callstack3: 执行当前ui区域m[i]的rerender 方法:

Callstack4: 调用render manager 绘制JS view:

绘制的位置就是html里面id为content的DIV元素:

Callstack5: render manager 开始render JS view:

Callstack6: 在render manager的实现里,首先掉beforeRender的callback:

 

就在下面不远处还有AfterRender的callback调用:

<img src="user-images.githubusercontent.com/5669954/282…)

Callstack7: JS view instance调用sap.ui.core.mvc.View.onBeforeRendering方法:

Callstack8: fire BeforeRendering:

Callstack9: 和之前的onInit一样,JS view instance调用EventProvider的方法fireEvent来调用beforeRendering callback:

最后application的onBeforeRendering被调用:

要获取更多Jerry的原创文章,请关注公众号"汪子熙":