これは、角度2+の質問であり、コンセプトのクロスコンポーネントアクセス(私が作成したばかりです)と、それが達成可能かどうかです。ここでcomponentYにいるときにcomponentXのHTMLコンテンツとTSメソッドを活用して使用する方法は?
はシナリオです:
私は私が#sidenav
<button type="button" mat-icon-button (click)="sidenav.toggle()">
<mat-icon>
search
</mat-icon>
</button>
を切り替えることができます。このボタンを得た後、私は上記のボタンがクリックされたときに現れる対応#sidenav
コンテンツを得ました。
<mat-sidenav #sidenav >
HTML to go here...
</mat-sidenav>
これは機能しています。ボタンをクリックするたびに、ここでHTMLのテキストをオン/オフするセクションが表示されます。
しかし、ここで私が満足したいと思う非常に挑戦的な希望です。
私は、そこにいくつかのヴァースとメソッドを持つ別のコンポーネントがあります。 電話番号XComponent
XComponent.ts
にはこれらがあります。ここでは、この
<div id="take-me-and-show-my-contents-in-the-sidenav-when-button-is-clicked">
<button (click)='alertX()'></button>
</div>
を持っている
x=10;
alertX(){
alert(this.X);
}
とXComponent.html
は挑戦的な質問です。
上記のid
(take-me-and-show ...)でdivを取得し、内容を他のコンポーネントの#sidenav
コンテンツエリアにプログラムで表示できますか?したがって、HTML to go here
は<button (click)='alertX()'></button>
と置き換えられます。可能であれば、XコンポーネントのalertXを呼び出すボタン(クリック)イベントは、最初のコンポーネントで実行しても引き続き動作しますか?
このようなクロスコンポーネントアクセスは不可能ですか?最高の基準はまだ英雄の見学されたコンポーネントの通信のため
divはXComponent.htmlの全範囲ですか?もしそうなら、私は[動的コンポーネント](https://angular.io/guide/dynamic-component-loader)があなたが望む意図を持っていると推測しています。 clickイベントに関しては、XComponentはそのイベントを親に送信する必要があります。 –
Richardに感謝します。しかし、XComponentにはdivがいくつかあるので、あなたの質問に答えてください。いいえ、HTML全体ではありません。 –
私は、次の夢を実現する機能をほとんど探しています。(click)= 'XComponent.ts-> alertX()'これにより、alertX()がどこにあるのかを角度で確認できます。もう1つは{{XComponent.html-> ThatDiv}}です。 :) –