Angular v2.1
を使用しています。コンポーネントを共有サービス経由で送信するようにしています。Angular2(最終リリース)のコンポーネントがサービスで観測可能な状態で通信できない
まず、最初のコンポーネントcompany.component.ts
から2番目のコンポーネントmodal.component.ts
にデータを送信します。
どこに問題があるのかよく分かりません(データを送信または受信している場合)。第二成分modal.component.ts
に
import { ModalService } from './modals/modal.service';
@Component({
templateUrl: 'company.component.html',
providers: [
ModalService
]
})
export class CompanyComponent implements OnInit {
constructor(private missionService: ModalService) {
this.missionService.setCompany("hellooooooooooooooo");
}
}
:第一成分company.component.ts
に
import { Injectable } from '@angular/core';
import { Subject } from 'rxjs/Subject';
@Injectable()
export class ModalService {
private sharedCompanySource = new Subject<string>();
sharedCompany = this.sharedCompanySource.asObservable();
getCompany(){
return this.sharedCompany;
}
setCompany(_company: any){
this.sharedCompanySource.next(_company);
}
}
:modal.service.ts
で
Subscriber {closed: false, syncErrorValue: null, syncErrorThrown: false, syncErrorThrowable: false, isStopped: false…}
:Iは、受信データをデバッグするときに、Iは、加入者オブジェクトが見つかりました:
import { ModalService } from './modals/modal.service';
import { Subscription } from 'rxjs/Subscription';
@Component({
templateUrl: 'modal.component.html',
providers: [
ModalService
]
})
export class ModalComponent implements OnInit {
subscription:Subscription;
constructor(private missionService: ModalService) {
this.subscription = missionService.sharedCompany.subscribe();
}
}
どのように動作するか見てみましょう。 :) –
https://angular.io/docs/ts/latest/guide/ngmodule.html#!#providers –
私は最後にそれを観察できないようにしました(単純なattributsとsetters、gettersのみ) –