Javascript Infovis Toolkitをグラフとツリーを描画するための外部ライブラリとして使用する。サーバーへのHTTP GET要求を非同期で送信し、サーバーからのデータをAngularサービスクラスのプロパティと変数に割り当てるには、ノードのonClickメソッドを操作する必要があります。コンパイルされたtypescriptsを単一のjsファイルにまとめるためにwebpackを使用すると、出力ファイルが混乱して判読できなくなります。コンパイルされたjsファイル内の関数を外部のjsライブラリから呼び出すことは、最適な解決策ではありません。角2 - 外部jsライブラリとtypescript関数の通信
私はので、私は問題なく、このサービスのプロパティにアクセスすることができ、私の角度サービス内の次の解決方法を試してください:
document.addEventListener('DOMContentLoaded', function() {
var nodes = document.querySelectorAll(".nodes"); // nodes = []
for (var i = 0; i < nodes.length; i++) { // nodes.length = 0
nodes[i].addEventListener("click", function() {
// asynchronously sending GET request to the server
// and assing receiving data to the properties of this Angular service
});
}
});
しかし、このソリューションが原因では動作しません。 Javascript Infovis Toolkit DOMのレンダリングが終了した後、そしてwindow.onload
イベント後にノードが描画されます。このライブラリには、描画ツリーの完成後に呼び出されるonAfterCompute()などのライフサイクルメソッドがあります。 Angularサービスに、ツリーの描画が完了し、すべてのノードを照会できることを通知するために、グローバルイベントをトリガーするにはどうすればよいですか?