ich hier die spezifische Frage beantworten werde, ja, ich verstehe das nicht die „Winkel“ ist Art und Weise, Dinge zu tun. Wenn Sie die Dinge "richtig" machen wollen, tun Sie dies nicht, verwenden Sie eine Direktive. Dort, Disclaimer beiseite, hier ist, wie es geht:
Grundsätzlich, was Sie tun möchten, ist das DOM-Element eine ID basierend auf dem $ Index oder einen eindeutigen Wert in Ihrem ng-Repeat-Objekt geben. Hier verwende ich einfach $ index.
<div ng-repeat="friend in friends" id="friend_{{$index}}" ng-bind-html="doSomethingBadToTheDom('friend_' + $index)">
{{friend.title}}
</div>
Dann in Ihrem Controller, fragen Sie einfach das DOM für das Element mit dieser ID:
$scope.doSomethingBadToTheDom = function(ele_id) {
var element = document.getElementById(ele_id);
element.innerHTML = "I'm abusing angular";
}
Wir verwenden ng-bind-html hier, weil das Element DOM wird, wenn der Controller vorhanden Funktion wird ausgeführt, im Fall von etwas wie ng-init, wird es nicht.
Noch einmal, dies gilt gegen alles, was angular steht, also, wenn Sie versuchen, Winkel Best Practices zu folgen, tun Sie dies nicht.
Ich bin in Situationen geraten, in denen die Technik zwar nützlich ist, besonders wenn es sich um nicht-eckige Bibliotheken handelt, oder wenn der "eckige Weg" mehr Mühe macht, als er wert ist.
Sie müssen eine Anweisung verwenden, um das zu tun –
Bitte können Sie ein Beispiel dafür machen, vielen Dank – Zzarcon