Я ищу способ выполнить код, когда после добавления изменений в переменную $scope, в этом случае $scope.results. Мне нужно сделать это, чтобы вызвать некоторый унаследованный код, который требует, чтобы элементы находились в DOM, прежде чем он сможет выполнить.
Мой реальный код запускает вызов AJAX и обновляет переменную области видимости для обновления ui. Поэтому в настоящее время мой код выполняется сразу после того, как я нажимаю на область действия, но устаревший код не работает, потому что элементы dom еще недоступны.
Я могу добавить уродливую задержку с помощью setTimeout(), но это не гарантирует, что DOM действительно готов.
Мой вопрос: есть ли какие-либо способы привязки к "визуализированному" событию?
var myApp = angular.module('myApp', []);
myApp.controller("myController", ['$scope', function($scope){
var resultsToLoad = [{id: 1, name: "one"},{id: 2, name: "two"},{id: 3, name: "three"}];
$scope.results = [];
$scope.loadResults = function(){
for(var i=0; i < resultsToLoad.length; i++){
$scope.results.push(resultsToLoad[i]);
}
}
function doneAddingToDom(){
// do something awesome like trigger a service call to log
}
}]);
angular.bootstrap(document, ['myApp']);
Ссылка на моделированный код: http://jsfiddle.net/acolchado/BhApF/5/
Спасибо в Advance!