2017-05-08 13 views
0

go.jsを使用してテストアプリケーションを作成していますこのアプリケーションは、ユーザがノードを動的に追加し、既存のノードを移動し、それらを互いに接続することを可能にする。変更後にgojsを更新しました

図の初期状態は、このモデルによって説明される:

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"} 
]; 

は今、私はこの問題を抱えています。 myDiagram.model.toJson()で更新したモデルを出力するときは、その間にユーザーが行った変更にかかわらず、常に元のモデルを取得します。ダイアグラムの現在の状態をに出力するには良い方法はありますか?

おかげ

答えて

2

いいえ、Model.toJsonを呼び出すと、モデルの現在の状態を取得するための最良の方法です。問題は、モデルデータが図の中のどのように反映されているかです。

ユーザーがノードまたはリンクを追加または削除した場合、toJson()出力に表示されます。

Node.locationにTwoWay Bindingがあり、ユーザーが一部のノードを移動した場合、新しい位置がモデルデータに反映されます。

ユーザーがアプリ内のいくつかのコードを介してノードの「操作」を何らかの形で変更した場合、モデルデータにもそのコードが反映されるはずです。 TwoWay Bindingを利用しています。

+0

あなたの答えをありがとう。ロケーションプロパティに双方向バインディングを設定するにはどうすればよいですか? – Forepick

+2

お読みください http://gojs.net/latest/learn/index.html http://gojs.net/latest/intro/usingModels.html http://gojs.net/latest/intro/dataBinding .html モデルには、データに対してリレーションシップ定義プロパティのみが必要であることに注意してください。場所やサイズ、テキストや数字など、あなたが保持したいと思うかもしれないものすべて。あなた自身を定義する必要があります。 –

関連する問題