我想在angular指令中初始化一个jquery插件,但只有在返回服务数据和DOM中的第一个渲染器之后。 我似乎可以弄清楚如何在angular指令中执行此操作。 到目前为止我有这个代码,但似乎我在服务数据到达之后调用插件,但在它是DOM上的渲染器之前... 任何提示?
myApp.directive('myDirective', function () {
return {
restrict: 'A',
link: function ($scope, element, attrs) {
$scope.$watch("data.length", function( newValue, oldValue ) {
if ( newValue === oldValue ) {
console.log( "Should return..." );
return;
}
$(element).elastislide();
});
}
};
});
===编辑==== 如果我使用setTimeout函数推迟执行它是否有效,这是正确的方法吗?
myApp.directive('myDirective', function () {
return {
restrict: 'A',
link: function ($scope, element, attrs) {
$scope.$watch("data.length", function( newValue, oldValue ) {
if ( newValue === oldValue ) {
console.log( "Should return..." );
return;
}
postpone = $timeout(function() {
$('#carousel').elastislide();
}, 100);
});
}
};
});