2017-09-22 6 views
0

数字またはobservable<number>number|observable<number>)を返すことができるメソッドでインターフェイスを作成しました。今問題は、テンプレートのメソッドの値を表示したいのですが、その方法はわかりません。 問題は、戻り値が観測値であれば非同期パイプが必要ですが、戻り値の数値ではパイプが不要です。どのようにテンプレートファイルでそれを処理するための任意のアイデア?数値または観測可能な角ハンドルプロパティ<number>

+0

戻り値がobservableの場合は非同期パイプが必要 – alc

+0

1.コンポーネントに 'propertyX'を渡します2.戻り値の型が' number'の場合は 'propertyX'を直接更新するか、observableにsubscribeし、その成功コールバック 'propertyX'を更新します。テンプレートに 'propertyX'をバインドしてください –

+0

私はこのアイデアも持っていましたが、プロパティが数値の場合は一度しか設定されないので、これは機能しません。考え方は、メソッドが配列から長さを返すことです。配列にアイテムを追加すると、メソッドは新しい長さを返します。 – alc

答えて

2

戻り値をメソッド内のObservableにラップすることができます。同様に:

if(value instanceof Observable) { 
    return value; 
} 
return Observable.of(value); 

は今、あなたのメソッドは常にObservableを返し、あなたはasyncパイプを使用することができます。

もう1つの方法は、同じことをするゲッタを作成することです。

+0

これは私がやることです。すべてが観察可能です!しかし、実際には実装がより単純になります。 – Eeks33

関連する問題