ionic中关于ionicView 的生命周期

时间:2022-08-11 14:44:18

前言

当我们来回切换页面时候,视图被缓存下来,不用每次再去new一个新的视图,可以大大地提高性能。当跳出一个视图后,视图的元素被保存在DOM中,它的作用域也就不在$watch的作用域内,当我们访问一个已经被缓存的视图后,它的scope重新回到作用域内,同时留在DOM中的元素也被激活。

视图生命周期:

  视图可以被缓存,也就意味着Controllers只需要加载一次,这必然会影响到controller的逻辑,去区别一个视图是否已经访问或者离开,事件是否已经被添加来调用视图的作用域,这些事件也包含视图的数据,比如标题和返回按钮是不是应该显示。也包含转换数据,比如动画的转换类型和方向将被使用或已经被使用的。

1.$ionicView.loaded   视图已经被加载了,这个事件只发生一次,视图被创建并且被添加到DOM中,当视图跳出后并被缓存的话,再次访问这个视图这个事件将不会被激活。Loaded事件是个好方式让你为这个视图设置你的代码; 然而,他并不是我们推荐的事件去监听视图被激活。

2.$ionicView.enter   进入视图并被激活。这事件被激活来判断这个视图是第一个加载还是被缓存了的。

3.$ionicView.leave  离开这个视图并且不是活动页面。调用这个事件判断应该被缓存还是摧毁。

4.$ionicView.beforeEnter   视图是即将进入并成为活动视图。

5.$ionicView.beforeLeave  视图将被关闭并且不是活动页面。

6.$ionicView.afterEnter  进入视图并是当前的活动页面

7.$ionicView.afterLeave  已经离开视图,并成为非激活页面

8.$ionicView.unloaded  视图的Controller已经被摧毁并且他的页面元素也从Dom中移除

.

  

相关文章