Я пытаюсь добавить директиву динамически внутри ngrepeat. Пожалуйста, обратитесь к следующей скрипку ссылке: Fiddle LinkСтранное поведение при динамическом добавлении директивы в ngrepeat
Код:
// Code goes here
var app = angular.module('myApp',[]);
// myDir Directive
app.directive('myDir', function() {
var controller = ['$scope','$compile', function ($scope,$compile) {
$scope.names=[{id:'1',directive:'subDir1'},{id:'2',directive:'subDir2'}];
$scope.loadDynamicDir = function(id, directive) {
var newScope = $scope.$new(true);
var html = $compile('<div class="' + directive + '"></div>')(newScope);
angular.element(document.getElementById('div' + id)).append(html);
}
}]
return {
controller:controller,
templateUrl:'myDirTemplate.html'
}
})
// subDir1 Directive
app.directive('subDir1', function() {
return {
restrict:'C',
template: 'subDir1'
}
});
// subDir2 Directive
app.directive('subDir2', function() {
return {
restrict:'C',
template: 'subDir2'
}
});
Unfortunatley, каждая директива добавляется в 3 раза. Может ли кто-нибудь объяснить точное поведение?
Добавление Более того, белый ru Я использую templateUrl в подзаголовках, это ошибка бросания. Ссылка на скрипт для этого же [здесь] (https://plnkr.co/edit/bu6GfqKVafLcxPc7UFO7?p=preview) – Teja