angularjs 实现 window.onload() $(document).ready() 的4种方法

张映 发表于 2014-02-28

分类目录: nodejs/vue/js/jquery

标签:, , , ,

习惯了window.onload(),$(document).ready(),现在换成别的了,还真有点不习惯了。下面说一下常用的4种情况。

1,html中直接写

<script src="lib/angular/angular.min.js" type="text/javascript"></script>
<script type="text/javascript">
    angular.element(window).bind('load', function() {
        alert('1');
    });
    alert('2');
</script>

不建议,直接在模板里面,写js代码。

2,在controller里面利用$on或者$watch

bookControllers.controller('bookctrl_test', ['$scope', '$routeParams',
    function($scope, $routeParams) {
        $scope.$on('$viewContentLoaded', function() {
            alert('1');
        });
        alert('2');
}]);
bookControllers.controller('bookctrl_test1', ['$scope', '$routeParams',
    function($scope, $routeParams) {
        $scope.$watch('$viewContentLoaded', function() {
            alert('1');
        });
        alert('2');
}]);

3,利用data-ng-init

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

注意:data-ng-init在controller里面才会启作用

bookControllers.controller('testInit', ['$scope', '$routeParams',
    function($scope, $routeParams) {
        $scope.load = function() {
             alert('code here');
        }
}]);

 

 



转载请注明
作者:海底苍鹰
地址:http://blog.51yip.com/jsjquery/1599.html

2 条评论

  1. suifengtec 留言

    data-前缀,貌似是为了HTML5验证,不在意的话,可以不用

  2. better me 留言

    请教一个问题:
    angularJS有没有可以等网页图片都加载完执行脚本
    我想计算一个div 的高度,它的高度等于图片的高度,图片高度不定,图片没加载完就已经计算高度了,有什么办法吗?求代码说明 谢谢