2017-11-11 3 views
0

いくつかの数値に基づいてアイコンを出力する必要があるとします。例:1 - 赤いアイコン、2 - 青いアイコン、3 - 緑色のアイコンなど。私はプレゼンテーションだけを持ち、任意の使用のために状態を保存する必要はなく、アイコン(または数値)の状態も変化しない。ステートレスまたは1回限りのコンポーネントは、Angular2/Angular4にありますか?

このようなプレゼンテーション出力を達成する最も良い方法は何ですか?

現在、私はパイプを使用します。

<div [innerHtml]="1 | numberToIcon"></div> 

このような構文は、覚えにくいです。だから私はそれをコンポーネントに置き換えたい:

<my-icon value="1" /> 

しかし、私はコンポーネントを使用すると、角度のトラックのコンポーネントの状態になります心配です。そして私はそれのための記憶を無駄にしたくありません。

「軽い」コンポーネントの方法はありますか?たぶん、状態のないコンポーネントですか?

答えて

0

あなたは

@Component({ 
    ..., 
    changeDetection: ChangeDetectionStrategy.OnPush, 
}) 
export class MyIconComponent { 
    constructor(this.cdRef:ChangeDetectorRef) { 
    } 

    ngOnInit() { 
    cdRef.detach(); 
    } 
} 

OnPush原因は入力のみの変更、あるいはハンドラが呼び出されるか、明示的に呼び出されたときにされた場合に発生する検出を変更することができます。 変更検出器を切り離した場合、Angularはこのコンポーネントの変更検出をこれ以上行わないでください。

関連する問題