我继承了一个网站,我正在努力完成最后一部分。在所有其他控制器上,我添加了
的变体$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();
}]);
答案 0 :(得分:2)
也许你没有正确导入$ timeout?
app.controller('summary', ['$scope', '$http', '$timeout', function($scope, $http, $timeout) { // twice
// 1. 2. 3. 1. 2. 3.
}]);