Das folgende Beispiel ist extrem einfach (edited nach sp00m korrekt für das vorherige Beispiel response):Warum funktioniert das <td ng-mouseenter = "name = 'John'"> nicht?
index.html: (Teil)
<table>
<tr ng-repeat="r in [1,2,3]">
<td ng-repeat="c in [1,2]" ng-mouseenter="name='John'">
[{{r}},{{c}}]
</td>
</tr>
</table>
Hello {{name}}!
app.js:
app.controller('MainCtrl', function($scope) {
$scope.name = 'World';
});
I Ich erwarte, dass das Wort "Welt" in "John" geändert wird, aber nichts passiert, wenn ich über die Zelle mische.
Ich poste pnrkr unten, um das Problem zu zeigen. Was mache ich falsch ?! Was vermisse ich? Ist das Problem mit AngularJS 1.5.x PLNKR verwendet, die ng-mouseenter
in <td>
nicht behandelt? Beachten Sie, dass ng-repeat kein Problem ist - wenn ich manuell eine neue Zeile einstelle, funktioniert das auch nicht.
http://plnkr.co/edit/x1peSJyc50yqa1AM73GZ
Lieber Santhi - wow. Als ich zu einer Struktur wechselte, funktionierte es. Ein bisschen frustrierend! Ich frage mich immer noch * warum *. Ist das der AngularJS Bug ....? Vielen Dank für Ihre Antwort. – Grzegorz
Hi @Grzegorz, tut mir leid für die späte Antwort, die Verwendung von Punktnotation (bedeutet Objekt) ist immer bevorzugte Ansatz. Bitte überprüfen Sie die Antworten eins nach dem anderen hier http://stackoverflow.com/questions/12618342/ng-model-does-not-update-controller-value, Sie werden ein gutes Verständnis bekommen. – Sam