2015-04-21 3 views
0

У меня есть фрагмент кода в HTML, где я делаю ng-repeat, чтобы получить список ящиков. Как только дом готов, мне нужно вызвать плагин jquery для изменения размера. Но до того, как дом будет готов, плагин вызывается и ничего не отображается.Функция обратного вызова после того, как dom загружается в угловом

Может ли кто-нибудь мне помочь, как я могу получить уведомление о том, что dom обновлен или когда dom готов, чтобы я мог позвонить своему плагину.

Благодаря

+2

Можете ли вы разместить код? Лучше поместить теги скриптов в конец тега body. –

ответ

2

Мы можем использовать метод angular.element(document).ready() присоединить обратные вызовы, когда документ будет готов. Мы можем просто подключить обратный вызов в контроллере, как так

function MyCtrl($scope) { 
    angular.element(document).ready(function() { 
     console.log('Hello World'); 
    }); 
} 

Demo

Taken From: https://stackoverflow.com/a/18646795/2025923

+0

Имейте в виду, что это работает только при загрузке страницы. Если вы используете ng-view/ui-view, этот подход не будет лучшим решением. Кажется, что вопрос ищет дом, готовый после ng-repeat, завершающий рендеринг –

0

Похоже, что вы ищете способ получить уведомление, когда нг повтора осуществляется с рендеринга контента. Вы можете создать такую ​​директиву.

app.directive('ngRepeatEnd', function($rootScope){ 
       return { 
        restrict:'A',     
        link:function(scope, element, attrs){ 
         if(scope.$last){         
          $rootScope.$broadcast('ArrayUpdated');      
         } 
        } 
       }; 
      }); 

Поскольку директива действует в том же объеме, как нг-повтор, вы можете получить доступ к $last переменным, представленным нг-повтор. $ last будет верным для последнего повторного значения. Таким образом, мы можем транслировать событие и перехватывать его в контроллере.

app.controller('DefaultController', function($scope){ 
     $scope.$on('ArrayUpdated', function(){ 
      //Your callback content here. 
    }); 
}); 
+0

Да, я хочу получать уведомление, когда ng-repeat выполняется рендеринг. Из чего следует обращаться к директиве ngRepeatEnd? Можете ли вы указать любой пример скрипта – Nupur

+0

Да. Вы можете увидеть это в действии [здесь] (http://jsfiddle.net/grvtiwari/2bezr3m4/). – Paras

Смежные вопросы