angularJs我们所应该知道的

$scope.$on(name,function):

controller里放了这样的语句:

1
2
3
4
5
6
7
$scope.$on('$ionicView.enter', function() {
//do something
});

$scope.$on('$ionicView.beforeEnter', function() {
//do something
});

在刚进入controller的时候会先执行直接放在controller里的代码,然后再执行上面的
两个方法。所以,无法用上面的方法对进入controller前进行预处理。

视图生命周期:

事件名称作用
$ionicView.loaded视图已经被加载了。这事件只发生一次当视图被创建并添加到Dom中。当跳出页面并且被缓存了的话,再次访问这个页面时这个时间将不会被激活。Loaded事件是个好方式让你为这个视图设置你的代码; 然而,他并不是我们推荐的时间去监听视图被激活。
$ionicView.enter进入视图并被激活。这事件被激活来判断这个视图是第一个加载还是被缓存了的。
$ionicView.leave离开这个视图并且不是活动页面。调用这个事件判断应该被缓存还是摧毁。
$ionicView.beforeEnter视图即将被打开变成活动页面。
$ionicView.beforeLeave视图将被关闭并且不是活动页面。
$ionicView.afterEnter进入视图并是当前的活动页面
$ionicView.afterLeave已经离开视图,并成为非激活页面
$ionicView.unloaded视图的Controller已经被摧毁并且他的页面元素也从Dom中移除

run():注射器加载完所有模块时,此方法执行一次

1
2
3
4
angular.module('yongche',[])
.run(function(param){
//do something
})
堂 wechat
欢迎关注我的微信公众号,里面有各种小故事哦!
坚持原创技术分享,您的支持将鼓励我继续创作!