В angular documentation for the compile service (starting at line 412) есть описание функции transclude, которая передается в функцию связывания директивы.В функции transclude функции директивной ссылки, как используется «futureParentElement»?
Соответствующая часть гласит:
function([scope], cloneLinkingFn, futureParentElement)
, в котором (строка 212):
futureParentElement
: определяет родителя, к которомуcloneLinkingFn
добавит клонированные элементы.
по умолчанию:
$element.parent()
соотв.$element
дляtransclude:'element'
соответственно.transclude:true
.нужны только для transcludes, которым разрешено содержат не HTML элементы (например, элементы SVG) и когда
cloneLinkinFn
пройдена, , как эти элементы должны создаваться и клонировали особым образом, когда они определяются вне их обычного контейнеры (например,<svg>
).См. Также
directive.templateNamespace
Недвижимость.
Я не вижу смысла futureParentElement
однако. В нем написано:
определяет родителя, к которому cloneLinkingFn добавит клонированные элементы.
Но вы что в самом cloneLinkingFn
как это:
transclude(scope, function (clone) {
some_element.append(clone);
});
И вы не можете использовать функцию transclude без определения функции клонирования в первую очередь.
Что такое правильное использование/использование для futureParentElement
?
Так что это не относится к содержанию html, не так ли? – krave
@krave Я так считаю: «требуется только для переходов, которые могут содержать не HTML-элементы» –