Zwei-Wege-Bindung des contenteditable-Element innerhalb ng-Liste
Ich bin auf der Suche zum aktualisieren der Mobiltelefon-Name in eine Liste von Handys mit contenteditable-Attribut. Ich habe versucht mit ng-wechseln, aber das ist nicht gefeuert zu werden. Gibt es eine Möglichkeit, kann ich dies tun?
Habe ich eine Liste von Store.Phones
<ul class="store">
<li ng-repeat="Phone in Store.Phones">
<strong contenteditable> {{Phone.Name}}</strong>
</li>
<ul>
Also wenn ich jetzt Bearbeiten Telefon Namen die ich brauche, um es aktualisiert in der Liste.
Habe ich versucht, so etwas wie dieses Modell zeigt auf das element. Das wird nicht funktionieren.
<strong ng-model='Store.Phones[$index].Name'> {{Phone.Name}}</strong>
Auch
<strong ng-model='PhoneName' ng-change='PhoneNameChanged()'> {{Phone.Name}}</strong>
in diesem Fall aber die Methode ist nicht gefeuert zu werden.
InformationsquelleAutor Phani | 2013-02-27
Du musst angemeldet sein, um einen Kommentar abzugeben.
Bearbeiten
Hier ist ein Beispiel, basierend auf dem Beispiel in der Winkel-docs, die nur verwendet
ng-repeat
. Dang-repeat
schafft einen neuen Rahmen für jede iteration, es sollte kein problem sein.Original
Gibt es ein Beispiel, wie Sie tun können, nur, dass hier: http://docs.angularjs.org/guide/forms
Es unter "Implementieren von benutzerdefinierten Formular-Steuerelemente (mit ngModel)" - header.
Ich habe ein Beispiel, das verwendet ng-repeat.
Dank Anders seine Arbeit hier. Lassen Sie mich check it out.
Ich habe ein Beispiel um es zu testen: jsfiddle.net/B5UbE/2
Followup-Frage: wie lege ich den Initialwert für die contentEditable div? Nach dem binden der ng-Modell der div nicht mehr {{ content }}. jsfiddle.net/B5UbE/3
InformationsquelleAutor Anders Ekdahl
entfernen Sie einfach
ctrl.$setViewValue(elm.html());
link zu http://jsfiddle.net/blingz/B5UbE/12/
InformationsquelleAutor Miro