コンポーネントのやりとりについては、サービスに頼ってください。サービスのクイック名を使用しますが、使用例に意味のあるものを使用します。ボタンコンポーネントで今
.
.
.
export class Component1 ... {
constructor(private myService: MyService) { }
buttonClick() {
this.myService.setData("Pass anything you want here");
}
}
2クラスであなたのコンポーネント1で今すぐ
import { Subject } from 'rxjs';
@Injectable()
export class MyService {
private dataMessenger = new Subject<any>();
getData(): Subject<any> {
return this.dataMessenger;
}
setData(newData: any) {
this.dataMessenger.next(newData);
}
}
あなたは、たとえば、あなたのモジュールで
MyService
を登録する必要が
.
.
.
export class Component2 ... {
variableOfChild2Component: any;
constructor(private myService: MyService) { }
ngOnInit() {
this.myService.getData()
.subscribe(data => {
// data argument contains whatever you pass to MyService.setData()
// function inside your Component1 class when the button is clicked
this.variableOfChild2Component = data;
});
}
}
、AppModule
@NgModule({
.
.
.
providers: [ ..., MyService, ... ]
})
export class AppModule { }
ありがとう:)。その私のために働いて –
しかし、私はComponent2をリフレッシュしているとき、その中では購読していない。私は、私がコンポーネント2をリフレッシュするとき、データは購読した後にそこになければなりません。 –
それからあなたはどこかにそれを残して、それが適切だと思うときにそれを検索し、それは別の質問を保証します。 – Dummy