AngularJSレンダリングページの完了を判断する

2204 ワード

demoを書くときはページの高さを調整する必要があり、これまでjqueryを使っていたときは$(document).ready()でページレンダリングが完了したと判断していましたがangularjsになってからは、役に立たず・・・
$viewContentLoadedイベントの使用
  • 完全Demo
  • <div ng-controller="MainCtrl">
      <div ng-view>div>
    div>
    $scope.$on('$viewContentLoaded', function(){
    
    });
    
    //   
    $scope.$watch('$viewContentLoaded', function() {  
    
    });  

    data-ng-initの利用
    <div ng-controller="test">  
         <div data-ng-init="load()" >div>  
    div>  
    bookControllers.controller('testInit', ['$scope', '$routeParams',  function($scope, $routeParams) {  
        $scope.load = function() {  
             alert('code here');  
        }  
    }]);