J'ai une version très résumée de ce que je fais qui fait passer le problème.
J'ai un simple directive. Chaque fois que vous cliquez sur un élément, il en ajoute un autre. Cependant, il doit d'abord être compilé afin de le rendre correctement.
Mes recherches m'ont conduit à $compile. Mais tous les exemples utilisent une structure compliquée que je ne sais pas vraiment comment appliquer ici.
Les violons sont ici: http://jsfiddle.net/paulocoelho/fBjbP/1/
Et le JS est là:
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>");
});
}
};
});
Solution de Josh David Miller: http://jsfiddle.net/paulocoelho/fBjbP/2/