3 回答

TA貢獻(xiàn)1875條經(jīng)驗 獲得超3個贊
關(guān)于您的最后一條評論,這是我想到的最簡單的方法:創(chuàng)建一個具有一個屬性并且該屬性將保存請求的服務(wù)。
class Service {
_data;
get data() {
return this._data;
}
set data(value) {
this._data = value;
}
}
就如此容易。plnkr中的其他所有內(nèi)容都將保持不變。我從服務(wù)中刪除了請求,因為它會自動實例化(我們不這樣做new Service...,而且我不知道通過構(gòu)造函數(shù)傳遞參數(shù)的簡單方法)。
所以,現(xiàn)在,我們有了Service,我們現(xiàn)在要做的是在組件中發(fā)出請求并將其分配給Service變量 data
class App {
constructor(http: Http, svc: Service) {
// Some dynamic id
let someDynamicId = 2;
// Use the dynamic id in the request
svc.data = http.get('http://someUrl/someId/'+someDynamicId).share();
// Subscribe to the result
svc.data.subscribe((result) => {
/* Do something with the result */
});
}
}
請記住,我們的Service實例對于每個組件都是相同的,因此,當(dāng)我們?yōu)槠浞峙渲禃rdata,它將反映在每個組件中。
- 3 回答
- 0 關(guān)注
- 1261 瀏覽
添加回答
舉報