2014-11-13 3 views
0

Я унаследовал сайт, и я пытаюсь завершить заключительную часть. На всех остальных контроллеров я добавил изменение

$timeout(function(){ //Issue is this doesn't seem to timeout... 
        $scope.rTapTopNumbersContainer = document.getElementById('rtap-quote-summary'); 
        rTapNotifyDOMChange($scope.rTapTopNumbersContainer); 
       }, 100); 

, но на этом последнем контроллере я не могу добавить этот код в любом месте в контроллере без углового кода не работает, или там, где я его в момент, тайм-аут , Мне нужен тайм-аут, чтобы запустить, чтобы обновить HTML DOM.

Если я положил его в .success, тайм-аут не работает. Где я могу поместить этот код или как я могу вызвать этот код после того, как запущен $ http?

app.controller('summary', ['$scope', '$http', function($scope, $http, $timeout) { 

var init = function() { 
    $http({ 
      method: 'GET', 
      url: $scope.api + 'sites/site/?title=' + $scope.site 
     }). 
      success(function(data, status, headers, config) { 

      ...assign vars to scope etc... 

      $timeout(function(){ //Issue is this doesn't seem to timeout... 
       $scope.rTapTopNumbersContainer = document.getElementById('rtap-summary'); 
       rTapNotifyDOMChange($scope.rTapTopNumbersContainer); 
      }, 100); 

     }). 
      error(function(data, status, headers, config) { 
     }); 
    } 
init(); 
}]); 
+1

Уверены ли вы, что это не ошибка? –

+1

вы не правильно указали время ожидания – SoluableNonagon

+0

также, если вы не возражаете, я спрашиваю, зачем вам нужен тайм-аут? – SoluableNonagon

ответ

2

Возможно, вы не импортировали $ timeout правильно?

app.controller('summary', ['$scope', '$http', '$timeout', function($scope, $http, $timeout) { // twice 
//       1.   2.  3.     1.  2.  3. 

}]); 
+0

Вы правы, спасибо. – myol