我在HTML中有一个代码片段,我正在进行ng-repeat以获取一个盒子列表。 一旦dom准备就绪,我需要调用一个jquery插件来调整大小。 但在dom准备好之前,插件被调用并且没有任何内容被渲染。
任何人都可以帮助我,因为如何通知dom更新或dom准备就绪,以便我可以调用我的插件。
由于
答案 0 :(得分:2)
我们可以使用angular.element(document).ready()
方法为文档准备好时附加回调。我们可以简单地在控制器中附加回调,如此
function MyCtrl($scope) {
angular.element(document).ready(function () {
console.log('Hello World');
});
}
答案 1 :(得分:0)
看起来你正在寻找一种在渲染内容时完成ng-repeat时得到通知的方法。您可以创建这样的指令。
app.directive('ngRepeatEnd', function($rootScope){
return {
restrict:'A',
link:function(scope, element, attrs){
if(scope.$last){
$rootScope.$broadcast('ArrayUpdated');
}
}
};
});
由于该指令的操作范围与ng-repeat相同,因此您可以访问ng-repeat提供的$last
变量。 $ last对于最后一个重复值是真的。因此,通过这个,我们可以广播一个事件并在控制器中捕获它。
app.controller('DefaultController', function($scope){
$scope.$on('ArrayUpdated', function(){
//Your callback content here.
});
});