Wenn ich versuche, einen HTML-Code an ein anderes Element mit jquery html()
anhängen. Ich verliere die Fähigkeit zu ng-click
. Hier ist eine grobe Beschreibung meines Codes. Zum Beispiel habe ich einen Controller namens testController
.html() verliert Winkel Anwendungsbereich
angular.module("test")
.controller("testController", ["$scope", "$rootScope",
function ($scope, $rootScope) {
var systemMessage = "<div><span><\/span><\/div>";
$scope.appendHtml = function() {
systemMessage.find("span").html('<button ng-click="highlightQuestion(id)">go to</button>');
}
$scope.highlightQuestion = function (id) {
console.log(id);
}
}]);
Sobald die HTML gerendert wird, wenn ich versuche, den Knopf zu klicken, passiert nichts. Was ich erwartet hätte war, dass es auf highlightQuestion
Funktion zugreifen kann, da in meinem Code systemMessage
an das div angehängt wurde, das von testController
gesteuert wird. Hat jemand irgendwelche Gedanken darüber, wie das funktioniert? Vielen Dank!
Hallo und vielen Dank für die schnelle Antwort. Kannst du mir einen Ausschnitt zeigen, wie man '$ compile' damit benutzt? – Growlithe
@Growlithe siehe die bearbeitete Antwort –
Die Schaltfläche wurde nicht angefügt, aber der Container wurde gerendert. Wird ohne den 'contents()' Aufruf versuchen – Growlithe