• 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中移除

    .

      

  • 相关阅读:
    一文了解快排的各种形式和坑
    逆序对的数量
    __type_traits 技法
    Traits 编程技法
    一个简单的内存管理器
    「ZooKeeper」概述
    「MySQL」explain
    「MySQL」InnoDB加锁情况
    「MySQL45讲」个人总结
    「MySQL45讲」1-45讲
  • 原文地址:https://www.cnblogs.com/crazycode2/p/6848294.html
Copyright © 2020-2023  润新知