view controller lifecycle discussion - beforeRendering

101 阅读1分钟

Created by Jerry Wang on Aug 07, 2014

BeforeRendering Trigger point:

clipboard1

 

Callstack1:

 

h就是当前的html document:

clipboard2

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

clipboard3

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

clipboard4

Callstack4: 调用render manager 绘制JS view:

clipboard5

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

clipboard6

Callstack5: render manager 开始render JS view:

clipboard7

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

clipboard8

 

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

clipboard9\

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

clipboard10

Callstack8: fire BeforeRendering:

clipboard11

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

clipboard12

最后application的onBeforeRendering被调用:

clipboard13\