<div>
<my-directive id='item.id' ng-reqeat='item in items'></my-directive>
</div>
我希望在my-directive
完全加载后操作DOM。显然,控制器不能用于此,因为控制器是在DOM完成之前启动的。我已经提出了这个解决方案。
<div>
<my-directive id='item.id' ng-repeat='item in items'></my-directive>
<manipulator-directive></manipulator-directive>
</div>
JS
app.directive('manipulatorDirective', ['$timeout', function($timeout) {
return {
restrict: 'E',
link: function() {
$timeout(function() {
var element = $('#<id>');
// code to manipulate the element
}, 500);
};
}]);
这很有效。但是,似乎这不是实现这项工作的正确方法。如果my-directive
超过500ms
,则manipulator-directive
将会中断。
link
完成所有任务(manipulator-directive
,添加到DOM后)才能确保my-directive
link
执行priority
功能吗?我在声明my-directive
和manipulator-directive
时尝试<div lower-priority-directive higher-priority-directive></div>
。在这种情况下,它没有正确使用。因为它只适用于将多个指令放在同一个标签中。例如:
{{1}}