您的位置:首页 > 运维架构

angular中如何监控页面加载完毕

2016-11-26 21:37 309 查看

一,网上一些不起作用的方法

1,在controller里面利用on或者watch

$scope.$on('$viewContentLoaded', function() {
alert('1');
});


$scope.$watch('$viewContentLoaded', function() {
alert('1');
});


2,利用data-ng-init

<div ng-controller="test">
<div data-ng-init="load()" ></div>
</div>


$scope.load = function() {
alert('code here');
}


二,网上起作用的方法(只在初始化界面起作用)

此方法调用的angular的方法,angular.element(window)并没有转变为jquery对象,这可能是个特例,不引入jquery就起作用!

angular.element(window).bind('load', function() {
alert('1');
});


三,jquery的方法(需要引入jquery)(只在初始化界面起作用)

angular.element(document).ready(function () {
alert('1');
});


四,$timeout的方法(在方法中急用,但不建议使用)

在方法中$timeout中内容会最后执行,相当于dom加载完再执行,

但多数情况要监控dom加载完是为了变化样式,推荐使用angular自己的指令ng-class去变样式

$scope.setStyle = function(){
var a = $timeout(function(){
var radio = angular.element('.item-radio')[2];
angular.element(radio).addClass("select");
});

$scope.clientSideList = tempData;
}


示例代码下载地址:http://download.csdn.net/detail/superjunjin/9732862

可以参照上篇理解:http://blog.csdn.net/superjunjin/article/details/53353426
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: