私はAngular2を初めて使っています。私は@Input
と@Output
タイプのものを頭に浮かべています。角度2コンポーネントコミュニケーション
例として、2つのコンポーネントがあります。コンポーネント2の可視性を切り替えるには、コンポーネント1のボタンが必要です。
import { Component, Input, Output, EventEmitter} from '@angular/core';
@Component({
selector: 'widget-one',
template:'<div class="widget-one" (click)="sendToWidgetTwo()"><button>Send to widget two</button></div>'})
export class WidgetOne {
constructor(){
console.log('Hello Widget One');
}
sendToWidgetTwo(){
console.log("button clicked");
// communicate with widget two
}
}
import { Component, Input, Output, EventEmitter} from '@angular/core';
@Component({
selector: 'widget-two',
template:'<div *ngIf="showing" class="widget-two">{{msg}}</div>'
})
export class WidgetTwo {
msg = "hello widget two";
showing = true;
constructor(){
console.log('Hello Widget Two');
}
}
私はそれを表示または非表示にするWidgetTwoのshowing
変数を切り替えるWidgetOneのボタンをしたいです。
2つのコンポーネントが親子関係にない場合、1つのアプローチはサービスを使用することです彼らは通信することができます。全体的には、さまざまなオプションについて説明しているドキュメントのこの部分を読むことをお勧めします。https://angular.io/guide/component-interaction –