2014-12-11 7 views

Antwort

18

(von JohnAndrews antwort) 1-Weg-Datenbindung = Ihr Datenmodell wird normalerweise von einem Controller in Ihre Ansichten/Vorlagen eingefügt und Änderungen an Ihrem Modell im Controller ändern die Daten in Ihren Ansichten. 2-Wege-Datenbindung = wie oben, aber Sie können auch Änderungen an Ihrem Datenmodell in der Ansicht vornehmen.

3-Wege = Ihre Daten sind mit einem Remote-Speicher synchronisiert (siehe CouchDB) 4-Wege = Ihre Daten sind mit einer lokalen Datenbank synchronisiert (wie localStorage oder ähnlich) und diese Datenbank ist mit einer Fernbedienung synchronisiert

Speicher

Quelle https://docs.google.com/presentation/d/1NByDXl6YL6BJ6nL0G2DLyZs5Og2njE_MNJv6vNK5aoo/edit#slide=id.g34d447b28_10

1

1-Weg-Datenbindung = Ihr Datenmodell wird normalerweise von einer Steuerung in Ihre Ansichten/Vorlagen eingefügt und Änderungen an Ihrem Modell im Controller ändern die Daten in Ihren Ansichten. Aber nicht umgekehrt.

2-Wege-Datenbindung = wie oben, aber Sie können auch Änderungen an Ihrem Datenmodell in der Ansicht vornehmen. Wie zum Beispiel, wenn Sie $ scope.title in Ihrem Controller besitzen und binden Sie es an ein < Eingang ng-Modell = „title“> jede Änderung $ scope.title in der Steuerung ändert, was in dem Eingang und jede Änderung des Werts der Eingabe ändert die $ scope.title-Variable ebenso wie die 2-way-Bindung.

+1

Löschen. Wie wäre es mit 3-Wege? – JohnAndrews

+0

Ich kenne diesen Begriff nicht, aber höchstwahrscheinlich wird es eine andere js-Bibliothek sein, die mit den Daten arbeitet, wie zB brisejs. Weiß nicht, versuche es zu googeln. –

+0

könnte automatische Server-Updates durch Socket oder Ajax als eine andere 'Weise' betrachten – charlietfl

6

Eine Möglichkeit, Datenbindungen: es ist ziemlich einfach. das ist Model Update Ansichten/Vorlagen.

Zwei-Wege-Datenbindungen: Hier wird die Ansicht mit Daten gefüllt, und Änderungen in der Ansicht werden automatisch im Modell widergespiegelt und umgekehrt. zum Beispiel

<input type="text" ng-model="name"/> 
<h1>Hello {{name}}!</h1> 

Also hier ist der Wert des Eingabefeldes an ein Modell gebunden, d. h. "name". Wenn sich der Name ändert, wird er sofort auf der Seite aktualisiert.

denken Sie an Bild, b'use kippe post it :(

Modell < ===> DOM

Drei-Wege-Daten Bindung:

Firebase < ===== > Modell < =====> DOM

hier, Firebase wie Datenbankserver kann nur Modell nicht das DOM ieUI aktualisieren Das Modell kann Db-Server aktualisieren d. h. Firebase und DOM. so Modell halten Sie die Macht zu aktualisieren UI und Db-Server :) Das Modell kann DOM d.

0

Für kurze Antwort-

Weise bedeutet Werte im HTML (ng-Modell/{{}}) durch den Wert in ihrem Umfang variable ersetzt sind.

2 Weg variable und Platzhalter/html (ng-Modell/{{}}) Werte sind gegenseitig in gleichen immer

3 Weg in der Zweiweg-Synchronisation Einbeziehung Server, wenn Daten mit synchronisierten Server oder Datenbank.

// Soviel ...

Verwandte Themen