1. 程式人生 > >angular實現window.onload和$(document).ready

angular實現window.onload和$(document).ready

轉自:http://blog.51yip.com/jsjquery/1599.html

習慣了window.onload(),$(document).ready(),現在換成別的了,還真有點不習慣了。下面說一下常用的4種情況。

1,html中直接寫

檢視複製列印?
  1. <script src="lib/angular/angular.min.js" type="text/javascript"></script>  
  2. <script type="text/javascript">  
  3.     angular.element(window).bind('load'
    function() {  
  4.         alert('1');  
  5.     });  
  6.     alert('2');  
  7. </script>  

不建議,直接在模板裡面,寫js程式碼。

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

檢視複製列印?
  1. bookControllers.controller('bookctrl_test', ['$scope''$routeParams',  
  2.     function($scope$routeParams) {  
  3.         $scope.$on('$viewContentLoaded'function
    () {  
  4.             alert('1');  
  5.         });  
  6.         alert('2');  
  7. }]);  
檢視複製列印?
  1. bookControllers.controller('bookctrl_test1', ['$scope''$routeParams',  
  2.     function($scope$routeParams) {  
  3.         $scope.$watch('$viewContentLoaded'function() {  
  4.             alert('1');  
  5.         });  
  6.         alert('2');  
  7. }]);  

3,利用data-ng-init

檢視複製列印?
  1. <div ng-controller="test">  
  2.      <div data-ng-init="load()" ></div>  
  3. </div>  

注意:data-ng-init在controller裡面才會啟作用

檢視複製列印?
  1. bookControllers.controller('testInit', ['$scope''$routeParams',  
  2.     function($scope$routeParams) {  
  3.         $scope.load = function() {  
  4.              alert('code here');  
  5.         }  
  6. }]);