Динамические директивы AngularJS внутри ng-repeat
Я пытаюсь динамически создавать директивы внутри ng-repeat. у меня естьdirective-writer
что создает ряд других директив, кромеdirective-writer
похоже, не выводит атрибуты директивы. Таким образом, второй набор директив никогда не отображается.
Увидетьэтот плункер для полной демонстрации.
Короче говоря, у меня есть этот тег директивы:
<div ng-repeat="dir in directives" directive-writer
directive-text="{{ dir.text }}" directive-type="{{ dir.directive }}"></div>
Данные области:
$scope.directives = [
{ directive: 'one', text: 'I am One' },
{ directive: 'two', text: 'I am Two' },
{ directive: 'three', text: 'I am Three' }
];
Определение директивы:
.directive('directiveWriter', function() {
return {
restrict: 'A',
compile: function(tElement, tAttrs) {
tElement.html('<div say="' + tAttrs.directiveText + '" '
+ tAttrs.directiveType + '>' + tAttrs.directiveType + '</div>');
}
};
И еще 3 директивы, подобные этой:
.directive('one', function() {
return {
restrict: 'A',
replace: true,
template: '<h3 class="one"></h3>',
compile: function(tElement, tAttrs) {
tElement.text('One says, ' + tAttrs.say);
}
};
Проблема заключается вdirectiveWriter
не выписываетtAttrs.directiveType
значение как атрибут только как текст ...
Итак, визуализированный HTML-код:
<div say="I am One" {{ dir.directive }} class="ng-binding">one</div>
Где «три» отображается внутри div как текст, не проблема, но никогда не отображается как атрибут.
Я не понимаю
Почему текст «три» может быть связан внутри div как текст, а не как атрибут.Почему класс установлен на "ng-binding".