私は Web アプリ プロジェクトに取り組んでおり、Angular を使用しようとしています。コンポーネントの通信に問題があります。たとえば、親コンポーネントが子コンポーネントとデータを交換する方法、兄弟コンポーネント間で通信する方法などです。
48407 次
8 に答える
18
サービスの使用:
import { Injectable } from '@angular/core';
import { Subject } from 'rxjs/Subject';
@Injectable()
export class AppState {
public _subject = new Subject<object>();
public event = this._subject.asObservable();
public publish(data: any) {
this._subject.next(data);
}
}
そして、次のようなイベントのようなメッセージを公開できます:
export class AppComponent {
constructor(
public appState: AppState
) {
appState.publish({data: 'some data'});
}
}
これらのイベントをサブスクライブできます。
export class HomeComponent {
constructor(
public appState: AppState
) {
appState.event.subscribe((data) => {
console.log(data); // {data: 'some data'}
});
}
}
于 2017-03-30T09:37:47.023 に答える
12
@入出力
マルチパート コンポーネントがある場合は、@Input と @Output を使用してデータを交換できます。ドキュメント: https://angular.io/guide/component-interaction
例: https://angular.io/generated/live-examples/component-interaction/eplnkr.html
依存性注入
データをサービスに保存してから、必要なコンポーネントにサービスを注入できます。例の「user.server.ts」など:
https://angular.io/generated/live-examples/dependency-injection/eplkr.html
于 2016-02-18T15:24:13.510 に答える
4
依存性注入を使用する必要があります。ここに小さな例があります: https://github.com/gdi2290/angular2do/blob/gh-pages/app/components/todo-item/todo-item.js
于 2015-05-28T09:01:43.903 に答える