view controller lifecycle discussion - onInit

简介: Created by Jerry Wang, last modified on Aug 08, 2014

Created by Jerry Wang, last modified on Aug 08, 2014

新建一个view instance:


image.png


Callstack2: 这个view的实例化会调用下图所示的另一个function ( r["view"] ). 传入function的参数就是上图中的对象字面量,也就是指定的view detail。


image.png


Callstack3: 进到callstack2 所示的function中去,因为待构造的view类型是JS view,因此进入相应分支:


image.png


Callstack4: 可以发现JSView constructor是采取lazy load的方式进行加载的:




image.png

line 9292行会把执行delegate给下一个function r.



Callstack5: this 指向正在初始化的view instance.




image.png

可以发现这个_initCompositeSupport function 函数体内会抛一个AfterInit的event。

image.png


Callstack6: 这里的this就是view instance,this.oController就是view controller instance。


image.png

把鼠标放在onInit上能观察到我们在Eclipse里写的code。

image.png


Callstack7: 重用EventProvider的fireEvent方法来raise event:


image.png

Callstack8: I.fFunction就是controller里实现的onInit方法,oListener就是controller,oListener.oView就是view本身。


image.png

于是最终call到controller的onInit方法:

image.png

相关文章
|
6月前
|
开发者
什么是 CDS view 的注解 @Metadata.allowExtensionstrue
什么是 CDS view 的注解 @Metadata.allowExtensionstrue
29 0
|
8月前
|
Python
DRF--view
DRF--view
|
Web App开发 JavaScript 前端开发
SAP UI5 视图控制器 View Controller 的生命周期方法 - Lifecycle methods
SAP UI5 视图控制器 View Controller 的生命周期方法 - Lifecycle methods
SAP UI5 视图控制器 View Controller 的生命周期方法 - Lifecycle methods
|
JavaScript
|
Java Spring
@Controller,@Service,@Repository,@Component你搞懂了吗?
@Controller 用来表示一个web控制层bean,如SpringMvc中的控制器。 @Service 用来表示一个业务层bean。 @Repository 用来表示一个持久层bean,即数据访问层DAO组件。 @Component 用来表示一个平常的普通组件,当一个类不合适用以上的注解定义时用这个组件修饰。 需要注意的是@Controller,@Service,@Repository都有带@Component父注解,说明它们除了基本组件的属性外还有其他的的场景应用,即如果不用SpringMVC其实它们就是一个普通的组件,但普通组件建议最好还是用@Component修
@Controller,@Service,@Repository,@Component你搞懂了吗?
|
JavaScript Android开发
SAP UI5 view controller lifecycle discussion - onInit
Created by Jerry Wang, last modified on Aug 08, 2014
116 0
SAP UI5 view controller lifecycle discussion - onInit
|
存储 SQL
CDS view注解解析 - @Environment.systemField
下面的CDS view使用到了@Environment.systemField这个注解,定义了两个参数#SYSTEM_LANGUAGE和#USER。
161 0
CDS view注解解析 - @Environment.systemField
|
XML 数据格式
SAP UI5 XML view lifecycle processing - defineMasterHeaderFooter
Created by Wang, Jerry, last modified on Apr 13, 2016
82 0
SAP UI5 XML view lifecycle processing - defineMasterHeaderFooter
when is view bound to its corresponding controller instance
oController.connectToView(oThis); oView.attachAfterRendering(this.onAfterRendering, this);
when is view bound to its corresponding controller instance