2017-02-02 3 views
0

@InputObservableを購読する方法はありますか?例えば観測可能な入力を購読する

:それはnullあるので、私が観測を購読することができません。この例では

export class MyComponent implements OnInit { 
    @Input() results: Observable<string[]>; 
    constructor() { 
    this.results.subscribe(value => ...); 
    }  
} 

...

+1

まずは... typo? 「代入」? – Alex

+0

@ AJT_82あなたは正しい、修正されています。 – Hatsjoem

答えて

3

あなたはOnChangesを実装し、それが変化したときに入力を購読する必要があります。

export class MyComponent implements OnChanges { 
    @Input() results: Observable<string[]>; 

    constructor() { } 

    ngOnChanges(changes){ 
     if(changes["results"] && this.results){ 
      this.results.subscribe(value => ...); 
     } 
    } 
} 

これは、それが利用可能であり、いつでも観察可能な参照の変更ということに再加入したら、あなたが観察可能に加入することができます。あなたのユースケースに応じて古いインスタンスからの購読解除を検討する必要があるかもしれません。

+0

これはうまく動作します:)。 OnChangesについて知りませんでしたので、詳細についてはドキュメントを見ていきます。私は角度を知るために自分の先制型を作成しようとしています。 – Hatsjoem

関連する問題