理论教育 组件生命周期:控制器、初始化、执行一次、最先执行

组件生命周期:控制器、初始化、执行一次、最先执行

时间:2023-05-19 理论教育 版权反馈
【摘要】:1)组件控制器:组件应用初始化时,组件控制器执行wdDoInit()方法,在整个组件的生命周期中,它只执行一次并且最先执行。

组件生命周期:控制器、初始化、执行一次、最先执行

1.运行生命周期

由于组件直接对应Web Dynpro的应用程序,并通过浏览器URL进行访问,因此从前台访问请求开始到对应服务器整个会话实例销毁,即称为组件的一个生命周期。组件控制器作为组件的核心控制组件,其生命周期伴随着整个组件的始终,而不同类型的窗口视图具有不同的生命周期,但其生命周期都包含于组件的生命周期。下面介绍组件中各个对象的生命周期。

1)组件控制器:组件控制器依赖于整个组件应用,可以说组件控制器的生命周期就是整个组件应用的生命周期。

2)窗口:分为两种情况,第一种是实现了接口视图的窗口,当与接口视图相关的应用程序被访问时,窗口控制器的生命周期开启,此时与组件控制器生命周期一致,并依赖于整个组件应用周期(会话的访问周期);第二种是没有实现接口视图的窗口(外部窗口或确认窗口),对于没有实现接口视图的窗口,则是通过窗口处理的API去创建或销毁窗口实例,这种类型窗口的生命周期即是从实例创建到销毁的时期。

3)视图:视图的生命周期较为短暂,同一窗口中视图的切换就可以结束一个视图实例,视图也不依赖组件中其他对象组件,但在组件的生命周期中,视图控制器通常采用与组件控制器上下文映射来保持数据的持久性。

2.逻辑生命周期(www.daowen.com)

组件在不同的生命周期时间点会执行相应的操作,以控制器中的一些标准方法为例,wdDoInit方法是一个组件生命周期的开始(初始化操作),wdDoExit为一个组件生命周期的结束操作(程序的出口)。下面针对几种控制器相对整个组件应用来分析它们的初始化执行顺序。

1)组件控制器:组件应用初始化时,组件控制器执行wdDoInit()方法,在整个组件的生命周期中,它只执行一次并且最先执行。

2)窗口控制器:当一个Web Dynpro应用程序被访问时,实现了默认接口视图的窗口就会被初始化,并执行组件控制器当中的wdDoInit()方法。窗口控制器的初始化动作在组件控制器之后执行。由于此时窗口控制器的生命周期与组件一致,因此窗口控制器的初始化也只执行一次。而没有实现接口视图的窗口(一般在代码中实现),它的初始化方法会随着整个窗口实例的创建与销毁反复执行。

3)视图控制器:视图控制器的生命周期在整个组件应用生命周期当中,它的初始化也会随着视图实例的创建与销毁反复执行。

需要强调的是,在不同场景中,可能需要创建多个控制器的实例,所以不同的控制器可能在整个组件应用实例的生命周期中执行多次,如弹出窗口、视图跳转等都是控制器生命周期的体现。在这个操作过程当中,窗口或视图实例都会被反复创建、销毁,窗口或视图的初始化也会执行多次,但对于同一个组件实例来说,它的生命周期只有一次,在它的生命周期当中,初始化操作也只执行一次。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈