あるコンポーネントから動的なフォームを持つ別のコンポーネントに値を渡していますが、そのコンポーネントに値を受け取っていません。ダイナミックフォームに値を渡す際に何か間違ったことをしている場合や、ダイナミックフォームが値を受け取ることができない場合は、私は取得できません。角度2の動的形式で値を購読する方法
私は完全なコードを貼り付けていないので、大きすぎるので、関連するコードのみを述べました。これ以上の明確化が必要な場合はお知らせください。 AdminServiceで
、これは、被験体は、以下のように定義されたサービスクラスである:ProductItemsComponentで
startedEditingItem=new Subject<string>();
、値を別のコンポーネントに以下のように送信されます。 ItemEditComponentで
onEdit(index:number){
console.log("on edit"+this.productId+":"+this.childProductId+":"+index)// This is being printed , so value is sent
this.adminService.startedEditingItem.next(this.productId+":"+this.childProductId+":"+index);}
は、値は、あなたが本当にここ
Subject
が必要です
ngOnInit() {
console.log("edit item on init") // printed on console
this.subscription=this.adminService.startedEditingItem.subscribe(
(id:string)=>{
console.log("edit item>"+id); // not printed on console.so value is not received
this.initForm();});
this.initForm();}
はい、あなたのソリューションは、私は疑問を持って再びalot.Butをworked.Thanksをgetter/setterを使用して同じことが達成できる場合、Subjectが導入される理由私は角度がないので、両方のアプローチの長所と短所を理解したいと思います。 – user2800089
'Subject 'はAngularなものではなく、RxJSのものです(Reactive Extensions)。独自のpub/subモデルを構築するより複雑なケースにのみ必要です。 Angularの既存の機能(変更検出など)を使用する場合、この機能は必要ありません。ここにいくつかの詳細を網羅したブログ記事があります:https://stackoverflow.com/questions/34849873/what-are-the-semantics-of-different-rxjs-subjects/34860777#34860777 – DeborahK