1
我試圖讓某種我的組件之間的通信的,所以我用了這樣的組件與BehaviorSubject服務和訂閱:Angular2 + RxJS BehaviorSubject認購不工作的所有組件
服務(與問題有關的碼):
import { BehaviorSubject } from 'rxjs/BehaviorSubject'
private _clientModalActionSource = new BehaviorSubject<string>('')
modalAction$ = this._clientModalActionSource.asObservable()
public updateClientModalAction(action) {
this._clientModalActionSource.next(action)
console.log('sent')
}
組分A:
this._api.updateClientModalAction(id)
組分B:
import { Subscription } from 'rxjs/subscription'
private _subscription: Subscription
ngOnInit() { this._subscription = this._api.modalAction$.subscribe(res => {
this.refreshModal(res)
console.log('received')
})}
這是工作完美如果B組是A組份的孩子,但如果是根組件和B是其<router-outlet>
(或者相反),裏面什麼也沒有被接收到認購,我只得到在sent
安慰。
我做錯了什麼?
謝謝你,你救了我的一天 – fjc