Вот проблема. Мне нужно передать директиву2 в директиву1. Директива1 имеет динамический шаблон url. В шаблоне есть раздел, в котором будет размещен код с переходом (другая директива). Это не работает, если я не окружу element.find (ниже) с $ timeout. После того, как страница будет отображена, директива будет встроена в шаблон. Но я не могу заставить его работать без тайм-аута.Угловая директива с динамическим шаблономUrl и Transclude
<directive1>
<directive2></directive>
</directive1>
Directive1
app.directive("directive1", function() {
return {
replace: true,
transclude: true,
template: '<ng-include src="getTemplateUrl()" />',
scope: {
id: "="
},
link: function (scope, element, attrs, controller, transclude) {
scope.getTemplateUrl = function() {
return "template" + scope.id + ".html";
};
element.find(".placeholderForDirective2").append(transclude());
}
}
})
Template1:
<div>
<div class="placeholderForDirective2"></div>
<div>blah blah blah</div>
</div>
Вы бьете меня на шесть секунд :) –
удивительного, спасибо за вашу помощь. @SunilD. ты тоже. –