私は単純なグラフを作ろうとしています。グラフにはノードとエッジだけがあり、ノードはドラッグできます。ノードは、入力/出力エッジのために前面/背面にブロックを有する。私は、あるノードから別のノードにエッジをドラッグする方法を把握しようとしている2つの兄弟コンポーネントが互いにどのように相互作用できますか?
グラフコンポーネント
<div class='graph'>
<my-node *ngFor="let node of nodes"></my-node>
</div>
MYNODEコンポーネント
<div class='node'>
<div class="frontConnector"></div>
<div class="backConnector"></div>
</div>
:HTMLは次のようになります。私がコネクターにmousedown/mouseupのリスナーを設定しようとすると、接続ノードが何であるか把握する方法がわかりません。グラフコンポーネント内のノードにマウスリスナーを設定しようとすると、マウスのクリックがコネクタ上にあるのか、ノードの他の部分にあるのかを確認できません。
これに対する答えは、エッジが実際にどのように機能するかにもつながります。エッジはノード上のプロパティでなければならないか、または接続はどのノードに接続されているかを追跡する独自のものでなければなりませんか?
コンポーネントインタラクションの章で回答をお探しですか? https://angular.io/docs/ts/latest/cookbook/component-communication.html – mrgoos
私はこの兄弟関係がそこに記述されているとは思いません。それは親/子のすべてです – user3715648
兄弟のコミュニケーションは、上のリンクで説明したような子 - 親 - 子であるか、リンクされたドキュメントでも説明されている無関係のコンポーネント間で説明したようです。特別なケースがありますが、あなたのケースに該当するかどうかわかりません(回答を投稿します)。 –