Ich habe eine sehr heruntergekommene Version von dem, was ich tue, die das Problem vermittelt.
Ich habe eine einfache directive. Wenn Sie auf ein Element klicken, wird ein weiteres hinzugefügt. Es muss jedoch zuerst kompiliert werden, um es korrekt zu rendern.
Meine Forschung führte mich zu $compile. Aber alle Beispiele verwenden eine komplizierte Struktur, die ich hier nicht wirklich anwenden kann.
Geigen sind hier: http://jsfiddle.net/paulocoelho/fBjbP/1/
Und der JS ist da:
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>");
});
}
};
});
Lösung von Josh David Miller: http://jsfiddle.net/paulocoelho/fBjbP/2/