Wie binden element mit ng-Modell von einer Objekt-array mit Schlüssel
Dies ist das Szenario,
JS:
angular.module('myApp', [])
.controller('bookCtrl', function($scope) {
$scope.book = {
name: 'Session Invites',
friends: [
{'id': 1, 'name': 'raju' },
{'id': 2, 'name': 'radha' },
{'id': 3, 'name': 'luttappi' },
]
};
$scope.update = function(){
$scope.book.friends[1] = {'id': 2, 'name': 'sam' };
alert($scope.book.friends[1].name );
};
});
HTML:
<div ng-controller="bookCtrl">
<input type="text" ng-model="book.friends[1].name"/>
<input type="button" id="btn" name="btn" value="update" ng-click="update()"/>
</div>
Möchte ich nutzen, "id" anstelle von " array "index". fiddle
<input type="text" ng-model="book.friends[1].name"/>
- Sie können eckig.forEach zu iterieren und dann mit der id nach Durchlaufen des array
- ich würde gerne binden Sie das array-element direkt mittels ng-model, ist das möglich?
- Ich glaube nicht, dass seine mögliche.
- Look at diese Geige
- Finden Sie diese stackoverflow.com/questions/26741166/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wird es möglich sein, mit einem
for loop
aber, ich denke, dass diese Arbeit um unten vielleicht interessant für Sie.Ändern Sie einfach die Struktur des JSON, mit
Object.proerty
anstelle eines Arrays. Wird es nicht die tricks.HINWEIS:
Es gibt eine Besorgnis über diese Problemumgehung ist die API bietet die
JSON
. Wenn die empfangenen Daten Struktur fixiert und Winkel brauchen, um zu konvertierenJSON
diese Struktur. Möglicherweise müssen Sie bewusst, wie groß ist es dendata
das gehen umgewandelt werden. Da eine solche Aufgabe wie diese verursachenMemory Leaked
dannJavaScript Garbage Collection
. Und es wird sich verlangsamen Ihre app deutlichJSON
. Wenn die empfangenen Daten Struktur fixiert und Winkel brauchen, um zu konvertierenJSON
diese Struktur. Möglicherweise müssen Sie bewusst, wie groß ist es dendata
das gehen umgewandelt werden. Da eine solche Aufgabe wie diese verursachenMemory Leaked
dannJavaScript Garbage Collection
. Und es wird sich verlangsamen Ihre app deutlich an. EDIT: ich werde zu aktualisieren, dies in der Antwort für die zukünftige Verwendung.Können Sie tun, dass auf diese Weise:
JS:
HTML:
Können Sie diese stattdessen zu verwenden: