2016-12-24 14 views
0

私はちょうどIonic2/Angular 2を使い始めましたが、ちょっと混乱しています。 のは、私はこのようなクラスの変数があるとしましょう:Ionic 2/Angular 2グローバル変数

export class HomePage { 
    array: string[]; 
} 

と私は別のクラスの配列内のデータを使用したいが、それを変更しないでしょう。 HomePageクラスの変数配列を別のクラスにどのようにエクスポートするのですか?

+0

依存性の注入 –

+0

https://angular.io/docs/ts/latest/cookbook/component-communication.html – echonax

+0

あなたは、共有サービスを使用することができます。 [this post](http://stackoverflow.com/questions/34760422/how-to-use-angular-2-service-with-ionic-2/38036031#38036031)をご覧ください。 – sebaferreras

答えて

0

これは、グローバルサービス/共有サービスを使用する必要があります。アプリケーション内の任意のサービスを使用できるよりも、グローバル変数の値をアプリでグローバルに設定してください。

がこのアプリでグローバルにそのGloablServiceを注入することができ、当社のグローバル・サービス

export class GlobalService { 
    array: string[]; 
} 

export class HomePage { 
    array: any[] = []; 

    constructor(private global: GlobalService){ 
     this.array = this.global.array; 
    } 
} 

export class SecondPage { 
    array: any[] = []; 

    constructor(private global: GlobalService){ 
     this.array = this.global.array; 
    } 
} 

であると仮定してみましょう。メインモジュールのように毎回プロバイダのリストにサービスを追加する必要はありません。 ちょうどこれとintilizeコンストラクタ内をインポートし、そのメソッドにアクセスし、変数

+0

どこに置くか:export class GlobalService { array:string []; } – sbattou

+0

同じファイルに別のファイルを作成し、app.module.tsファイルの参照を追加してください –

+0

申し訳ありませんが、Angular 2の場合はnoobです。app.moduleで参照を追加する方法を説明できますか?私がGlobalService.tsファイルを作成する場所は、Ionic 2を使用していると仮定します。 – sbattou