新しい2つの角で、データ1つのコンポーネントタグを別のコンポーネントタグに渡したいと思います。角度2のタグにデータを渡します
成分TAG1
<div class="row">
<pie-chart></pie-chart>
</div>
成分タグ2
<div class="row">
<basic-table></basic-table>
</div>
これらの成分の両方が別のコンポーネントのHTMLファイル内に配置されています。
新しい2つの角で、データ1つのコンポーネントタグを別のコンポーネントタグに渡したいと思います。角度2のタグにデータを渡します
成分TAG1
<div class="row">
<pie-chart></pie-chart>
</div>
成分タグ2
<div class="row">
<basic-table></basic-table>
</div>
これらの成分の両方が別のコンポーネントのHTMLファイル内に配置されています。
だけ
import { Injectable } from '@angular/core';
@Injectable()
export class YourService {
private _data: any;
public store (data: any) {
this._data = data;
}
public restore(): any {
return this._data;
}
}
は(DIを使用してコンポーネントにそれを注入する。他のコンポーネント
内のデータがサービスを作成し、データを保存するためにグローバルなサービスを使用して、同じサービスのエキスを使用して依存性注入):
constructor (private _myService: YourService) { }
、あなたのコンポーネントの内部でこのサービスを使用することができます:
this._myService.store({..});
let data = this._myService.restore();
イベントエミッタを使用して、いずれかのディレクティブで何かが発生したときにイベントを発生させます。 もう1人はそのイベントに登録する必要があります。
import {EventEmitter} from 'angular2/core';
それは、詳細については、次のように定義タイプ
class EventEmitter {
constructor(isAsync?: boolean)
emit(value?: T)
subscribe(generatorOrNext?: any, error?: any, complete?: any) : any
}
を持っているが、これらのコンポーネントに関連する(親子、兄弟、無関係は、ルータによって追加されたどのドキュメントhttps://angular.io/docs/js/latest/api/core/index/EventEmitter-class.html
を参照してください、 ...)https://angular.io/docs/ts/latest/cookbook/component-communication.html –