2017-05-08 1 views
0

Ich schreibe eine Testanwendung mit go.js. Diese Anwendung ermöglicht es dem Benutzer, Knoten dynamisch hinzuzufügen, vorhandene Knoten zu verschieben und sie miteinander zu verbinden.gojs aktualisiertes Modell nach Änderung

Der Anfangszustand des Diagramms wird durch dieses Modell beschrieben:

var nodeDataArray = [ 
    { key: "a", operation: "concat" }, 
    { key: "b" }, 
    { key: "c" }, 
    { key: "d", loc: new go.Point(30, 50) } 
]; 
var linkDataArray = [ 
    {from: "a", to: "b", toPort: "A"} 
]; 

Jetzt habe ich dieses Problem. Wenn ich mein aktualisiertes Modell mit myDiagram.model.toJson() austrage, erhalte ich immer das ursprüngliche Modell, ungeachtet der Änderungen, die der Benutzer in der Zwischenzeit vorgenommen hat. Gibt es eine bessere Möglichkeit, den aktuellen Status des Diagramms auszugeben? Keine

Dank

Antwort

2

, ruft Model.toJson ist der beste Weg, um den aktuellen Zustand des Modells zu erhalten. Die Frage ist, wie gut die Modelldaten das widerspiegeln, was Sie im Diagramm sehen.

Wenn der Benutzer Knoten oder Verknüpfungen hinzugefügt oder entfernt hätte, würden Sie dies in der Ausgabe von toJson() sehen.

Wenn es eine TwoWay-Bindung auf Node.location gäbe und wenn der Benutzer einige der Knoten verschoben hätte, würden sich die neuen Positionen in den Modelldaten widerspiegeln.

Wenn der Benutzer die "Operation" eines Knotens über einen Code in Ihrer App irgendwie geändert hat, sollte dies auch in den Modelldaten widergespiegelt werden, vorausgesetzt, Ihr Code hat die Daten und nicht die GraphObject direkt geändert Verwendung einer TwoWay-Bindung.

+0

Danke für Ihre Antwort. Wie kann ich eine beidseitige Bindung für die Standorteigenschaft herstellen? – Forepick

+2

Bitte lesen: http://gojs.net/latest/learn/index.html http://gojs.net/latest/intro/usingModels.html http://gojs.net/latest/intro/dataBinding .html Beachten Sie, dass Modelle nur relationsdefinierende Eigenschaften für die Daten aufweisen müssen. Alles andere, was Sie behalten möchten, einschließlich Orte und Größen und Text und Zahlen und so weiter. Sie müssen sich selbst definieren. –

Verwandte Themen