你的位置:首页 > ASP.net教程

[ASP.net教程]ionic中关于ionicView 的生命周期


  当我们来回切换页面时候,视图被缓存下来,不用每次再去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中移除