2016-05-09 10 views
5

jsplumbを使用して2つのコンポーネント間の接続を表示しようとしています。JsPlumb with Angular2

最後に、jQueryを使用してUIエレメントのハンドルを取得し、jsplumbライブラリを使用して接続をレンダリングします。以下のような何か:

JsPlumb設定

if(typeof jsPlumb !== 'undefined' && jsPlumb !== null) { 
    jsPlumb.ready(function() { 
    jsPlumb.deleteEveryEndpoint(); 
    jsPlumb.setContainer(this._container); 
    jsPlumb.Defaults.PaintStyle = { strokeStyle:'#339900', lineWidth:2, dashstyle: '3 3'}; 
    jsPlumb.Defaults.EndpointStyle = { radius:7, fillStyle:'#339900' }; 
    jsPlumb.importDefaults({ 
     Connector : [ 'Flowchart', { curviness:0 } ], 
     ConnectionsDetachable:true, 
     ReattachConnections:true 
    }); 
    jsPlumb.endpointClass = 'endpointClass'; 
    jsPlumb.connectorClass = 'connectorClass'; 
    }); 
} 

JsPlumb使用

jsPlumb.connect({ 
    source: $('#'+entityFrom+'Panel'), 
    target: $('#'+entityTo+'Panel'), 
    anchors: ['RightMiddle', 'LeftMiddle'] 
}); 

angular2上のさまざまなブログから、私はNG2でのjQueryを使用すると、アンチパターンであることを理解しています。

jsPlumbをangular2または他の同様のライブラリとともに使用するための代替アプローチまたはより優れた設計アプローチを提供できます。

答えて

1

角度2のJSplumbを使用する必要があるのと同様の状況です。私が取ったアプローチは、jsplumbのtypescriptラッパーを使用して、それが提供するデフォルトツールで角度2と統合することです。これは、他の同様のライブラリを統合するのに役立つアプローチですが、jsplumbライブラリの有効な型付きラッパーが使用できないため、jsplumbでは機能しませんでした。

私は角2で使用する有効なラッパーのJSplumbチームに連絡し、彼らはここにありtypescriptですラッパーがあり、角2は、その直接のパイプライン

+0

ではないと言って断った:https://github.com/DefinitelyTyped/はDefinitelyTyped/blob/master/jsplumb/index.d.ts、あなたはそれをどのように使用するかについてのアイデアはありますか? – user760226

+0

私はそれをもう一度やってみました。他のライブラリと同じように、角度2では動作しませんでした。モジュールをエクスポートしていません –