2016-08-02 6 views
-1

Angular2、あるコンポーネントから別のコンポーネントへのオブジェクトの使用方法私は2つの様々なコンポーネントを使用しています

1はsample.tsあり、もう一つはtesting.ts

export class TestComponent { 
save(){ 
    console.log('this is a testing file') 
    } 
} 

はsample.ts中)(SAVE使用するには、このpossibeですです??テスト中です.ts - > save()??

この可能な手段であれば、だれでもplzは私を助けて...

+1

https://angular.io/docs/ts/latest/cookbook/component-communicationを呼び出します.html –

+0

コンポーネント階層は何ですか?どのコンポーネントが親コンポーネントで、どちらが子コンポーネントですか? – hendrix

+0

sample.tsは、親、testing.tsである私は私の保存(で「公開」を追加した場合を意味し、それはショーのエラーになります)子供 – Ived

答えて

0

私は、共有サービスでは、この機能を入れて、それを注射作り、それをすべての場所を使用すると思います。あなたのコンポーネントで

@Injectable() 

    export class MyService{ 

    public save(){ 

    console.log('this is a testing file') 

    } 
} 

constructor(private myService:MyService){ 

    // use it however you want 
    myService.save(); 

    } 

そして、あなたがこれを行うにはしたくない場合は、あなただけの機能輸出別々にする必要があります。

export function save() { 

    console.log('this is a testing file') 

} 

はEDIT:

このサービスの状態をすべてのコンポーネントにわたって保持したい場合は、トップレベルのアプリケーションで提供する必要があります。

サービスはシングルトンオブジェクトとして動作し、すべての子要素は、それを使用し、それは状態を保存します。

だから、(おそらく)あなたのapp.tsに移動し、サービスを提供し、すべての子コンポーネントプロバイダのリストから削除します。

+0

です。 angular2-polyfills.js:390エラー:にSyntaxError:。!予期しないトークン(...):( – Ived

+0

私のミス、保存機能ではないクラスでなければなりません:) – Milad

+0

はい、あなたは正しいです、私はそれを更新しました。私はあるコンポーネントから別のコンポーネントに保存に達しました。しかし、私は価値を得ることができません。親切に私のポストplzを参照してください... – Ived

0

あなたはあなたの方法を公開することができます:public save() { ... }そして、あなたのSampleComponentであなたのTestComponentをインポートTestComponentのインスタンスを作成し、let tc = new TestComponent(); tc.save();

+0

私はangular2-polyfills.js、followngエラーを得た:390エラー:にSyntaxError:予期しないトークン(...)。 – Ived

関連する問題