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

前端之家收集整理的这篇文章主要介绍了angular中如何监控页面加载完毕前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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

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://www.jb51.cc/article/p-bcpyyxzk-bqa.html

原文链接:https://www.f2er.com/angularjs/148530.html

猜你在找的Angularjs相关文章