5.ionicView视图的生命周期

视图生命周期:

  视图可以被缓存,也就意味着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中移除

 

 

$on、$emit和$broadcast使得event、data在controller之间的传递变的简单。
$emit:子传父 传递event与data
$broadcast:父传子 child controller传递event与data
$on:监听或接收数据。。用于接收event与data

$scope.$on('$ionicView.beforeEnter', function() {
//初始化变量
initVariable();
});

$rootscope.$on('$ionicView.beforeEnter', function() {
//初始化变量
initVariable();
});
posted @ 2017-09-19 19:33  一切皆有可能呀  阅读(406)  评论(0)    收藏  举报