视图可以被缓存意味着Controllers通常只需要加载一次,这势必会影响到你controller的逻辑了。去区别一个视图是否已经访问或离开,时间是不是已经被添加来调用视图的作用域 。这些事件也包含视图的数据,比如标题和返回按钮是不是应该显示。也包含转换数据,比如动画的转换类型和方向将被使用或已经被使用的。
ionicView的生命周期的事件调用在每个ionicView的controller中使用$scope.$on('$ionicView.enter', function() {});
调用。
- $ ionicView.loaded 视图已经被加载了。这事件只发生一次当视图被创建并添加到Dom中。当跳出页面并且被缓存了的话,再次访问这个页面时这个时间将不会被激活。Loaded事件是个好方式让你为这个视图设置你的代码; 然而,他并不是我们推荐的时间去监听视图被激活。类似于iOS的
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
- ** $ ionicView.enter ** 进入视图并被激活。这事件被激活来判断这个视图是第一个加载还是被缓存了的。类似于iOS的
- (void)applicationDidBecomeActive:(UIApplication *)application
- ** $ ionicView.leave** 离开这个视图并且不是活动页面。调用这个事件判断应该被缓存还是摧毁。类似于iOS的
- (void)applicationDidEnterBackground:(UIApplication *)application
- ** $ ionicView.beforeEnter** 视图即将被打开变成活动页面。类似于iOS的
- (void)applicationWillEnterForeground:(UIApplication *)application
- ** $ ionicView.beforeLeave** 视图将被关闭并且不是活动页面。类似于iOS的
- (void)applicationWillResignActive:(UIApplication *)application
- ** $ ionicView.afterEnter ** 进入视图并是当前的活动页面。
- ** $ ionicView.afterLeave** 已经离开视图,并成为非激活页面。
- ** $ ionicView.unloaded ** 视图的Controller已经被摧毁并且他的页面元素也从Dom中移除。类似于iOS的
- (void)applicationWillTerminate:(UIApplication *)application
网友评论