AngularJS页面渲染完成之后执行DOM操作

-利用data-ng-init

<div data-ng-init="load()"></div>
angular.module('App')
  .controller('MainCtrl', function ($scope) {

    $scope.load = function () {
      $('#menu li a').click(
         function () {
           var checkElement = $(this).next();
           if ((checkElement.is('ul')) && (checkElement.is(':visible'))) {
             return false;
           }
           if ((checkElement.is('ul')) && (!checkElement.is(':visible'))) {
             $('#menu ul:visible').slideUp('normal');
             checkElement.slideDown('normal');
             return false;
           }
         }
      );
    }
  });

  

-使用$viewContentLoaded事件

  

$scope.$on('$viewContentLoaded', function(){
    //可执行DOM操作
});

// 或者
$scope.$watch('$viewContentLoaded', function() {  
  //可执行DOM操作
}); 

  

原文地址:https://www.cnblogs.com/bertha-zm/p/8534339.html