Ho una versione molto ridotta di quello che sto facendo che risolve il problema.
Ho un semplice directive. Ogni volta che fai clic su un elemento, ne aggiunge un altro. Tuttavia, deve essere compilato prima per renderlo correttamente.
La mia ricerca mi ha portato a $compile. Ma tutti gli esempi usano una struttura complicata che non so davvero come applicare qui.
I violini sono qui: http://jsfiddle.net/paulocoelho/fBjbP/1/
E la JS è qui:
var module = angular.module('testApp', [])
.directive('test', function () {
return {
restrict: 'E',
template: '<p>{{text}}</p>',
scope: {
text: '@text'
},
link:function(scope,element){
$( element ).click(function(){
// TODO: This does not do what it's supposed to :(
$(this).parent().append("<test text='n'></test>");
});
}
};
});
Soluzione di Josh David Miller: http://jsfiddle.net/paulocoelho/fBjbP/2/