Ich render derzeit ein Stück von HTML und Direktiven mit $ sce.trustAsHtml.
Ich habe eine Anweisung namens compile-template benutzt, die mir erlaubt, ng-Direktiven wie ng-click und ng-disabled zu verwenden.
Ich bin in der Lage, Objekte zu übergeben, wenn sie statisch sind (z. B. name: 'winning'), ABER wenn ich mit einer ForEach-Schleife durch sie fahre, erhalte ich ein undefined
Ergebnis.
Beispiel:
$scope.xxx = {
name: "winning",
array:["test","123","456","888"]
};
var string = 'I am an <code>HTML</code>string with <a href="#" ng-mouseover="removeExp()">links!</a> and other <em>stuff</em> <button ng-click="fire(a)">TEST</button>'
angular.forEach($scope.xxx.array, function (a) {
string += 'I am an <code>HTML</code>string with <a href="#" ng-mouseover="removeExp()">links!</a> and other <em>stuff</em> <button ng-click="fire(a)">TEST</button> <button ng-click="works(xxx.name)">Works</button>'
});
$scope.myHTML =$sce.trustAsHtml(string);
ich hier ein Arbeits jsFiddle Beispiel haben: http://jsfiddle.net/3J25M/533/
(^ eröffnen dev Tools console.log^zu sehen)
Beachten Sie, wie die 'Works' Taste funktioniert, aber die 'TEST' Taste nicht. (Die ‚TEST‘ Taste erhält seine Objekteigenschaft aus einer foreach-Schleife.)
Wie kann ich in einem Wert übergeben mit angular.forEach?
Danke!
ersetzen das Problem ist nicht über Looping oder irgendetwas, der Schleifenvariable (a) einfach nicht existiert außerhalb des foreach Rückrufs – aw04
wenn das ist der Fall, wie kann ich einen anderen Array-Wert erhalten, um in jeder Taste zu erscheinen? Wenn ich auf den ersten "TEST" -Button klicke, erscheint Array [0], wenn ich auf den zweiten 'TEST' -Button klicke, erscheint Array [1] ... etc – jward01
Meine Frage ist, wie kann ich jedem Array Werte zuweisen (Array [0], Array [1], Array [2], Array [3]) zu jedem der 4 'TEST' Buttons. Dies kann unter Verwendung einer ng-Wiederholung erreicht werden. Aber ich kann eine ng-Wiederholung in diesem Szenario (mit $ sce) meines Wissens nicht verwenden. Wie kann ich die Werte zuweisen, wenn die For-Schleife außerhalb des Gültigkeitsbereichs liegt? – jward01