Я хочу написать две угловые директивы, родительскую и дочернюю директиву, чтобы создать сортируемые и клонируемые виджеты. Предполагаемая разметка:
<div class="widget-container" data-sortable-widgets>
<section class="widget" data-cloneable-widget></section>
<div>
Однако дочерняя директива, похоже, выполняется перед родителем, прежде чем какой-либо элемент будет доступен (добавлен родителем):
function SortableWidgetsDirective() {
return {
priority: 200,
restrict: 'A',
link: function ($scope, element, attrs) {
element.find(".widget header").append($("<div class='widget-controls'></div>"));
element.sortable({ });
}
};
}
function CloneableWidgetDirective() {
return {
priority: 100,
restrict: 'A',
link: function ($scope, element, attrs) {
// This directive wrongfully executes first so widget-controls is no available
element.find("header .widget-controls").append($("<div class='clone-handle'></div>"));
}
};
}
Как вы можете видеть, я попытался установить приоритет, но я думаю, потому что они на разных элементах, это не работает.
Как я могу заставить родительский выполнить первый?