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/