AngularJS - Scope ist nicht das, was erwartet innerhalb einer ng-Ereignis klicken Sie auf der ng-repeat
Habe ich dieses code-snippet:
<ul>
<li ng-repeat="message in messages">
<button ng-click="send()">Send</button>
</li>
</ul>
$scope.send = function(){
//not working (message undefined)
alert($scope.message.text);
//working
alert($scope.messages[0].text);
};
Verstehe ich nicht, warum:
alert($scope.message.text);
funktioniert nicht. Ich dachte, dass die ng-repeat war die Schaffung eines neuen Bereichs.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es ist wahr, dass
ng-repeat
erstellt einen neuen Rahmen. Aber Sie können nicht auf das scope-by-doing - $scope in Ihrem controller. Stattdessen können Sie, wie unten:- Und in deiner JS:
ng-repeat
im inneren der Steuerung by doing $Umfang. Stattdessen übergeben Sie das Objekt von innen ng-repeat, um den controller 🙂Nachricht, dass der Zugriff nur lokal side view side(index.html). Dosn,t Zugriff auf controller-Seite. Aber die Nachricht übergeben Argumente, die send(message).