2016-04-03 14 views
2

私はカスタムレインボーサイズのパイプを作成し、スパンの各文字をcssの色の小道具として虹のランダムな色でラップします。私は私のアプリのすべてのコンポーネントでこのカスタムパイプを使用できるようにしたいと思います。現在、私はこの角度2のすべてのコンポーネントでカスタムパイプを使用できるようにするにはどうすればよいですか?

<p>{{text | rainbowize}}</p> 

のようなテンプレートでこの

import { Component } from 'angular2/core'; 

import { RainbowizePipe } from '../pipes/rainbowize'; 

@Component({ 
    'pipes': [RainbowizePipe] 
}) 

のように各コンポーネントにパイプをインポートし、それを使用していますので、それは素晴らしいことだ、私は虹色付きのテキストを持っています。しかし、Rainbowizeパイプを一度だけアプリケーションにインポートし、それをグローバルに利用できるようにするだけでいいです。

カスタムパイプをグローバルに利用できるようにするには、推奨される角度2 /タイプテストアプローチがありますか?

答えて

4

PLATFORM_PIPESにカスタムパイプを提供できますので、アプリケーション全体で使用できます。

bootstrap(App, [provide(PLATFORM_PIPES, {useValue: RainbowizePipe, multi:true})]); 

あなたが明示的にあなたのコンポーネントのpipesプロパティにそれらを追加する必要はありませんこの方法です。

ここでは、例として働いているplnkrです。

+0

ありがとうエリック、素晴らしい仕事! –

関連する問題