2016-06-12 17 views
0

私のAngular 2プロジェクトでは、アプリケーション内の異なるコンポーネント間で異なるオブジェクトに移動するために使用するカスタム関数goToObject(objectType:string, objectID: number)があります。この関数は、以下のようになります。Angular 2プロジェクトでルータのナビゲート機能を提供する方法

goToObject(objectType:string, objectID: number) { 
    this._router.navigate([type, id]); 
} 

個別に各コンポーネントでそれを定義することなく、私の完全なプロジェクトを通じて、この機能を提供する方法がある場合、私は思っていました。それは、この関数がルータオブジェクトのインスタンスを使用する必要があると私は推測します。私はそれをベースコンポーネントに提供しなければならないでしょうか?

答えて

0

あなたはその後、ルートコンポーネントでそれを提供し、あなたはそれを使用し、そのメソッドを呼び出したい場所、それを注入共有サービス

@Injectable() 
export class RouteServices { 
    constructor(private _router:Router) {} 
    navigate(...) { 
    this._router.navigate([type, id]); 
    } 
} 

を使用することができます。

+0

注入は、私が使用する各コンポーネントのコンストラクタで行う必要がありますか? – hY8vVpf3tyR57Xib

+0

正確に。 。 。 。 –

関連する問題