[英]push to observable variable in angular
我如何將一個額外的對象添加到最初已從模板預訂到可觀察對象的集合中。 所以我在組件中有一個可觀察的變量,然后執行一些http請求,然后將可觀察者設置為該服務請求,如下所示...
logs$: Observable<any>;
this.logs$ = this.service.getLogs(searchCriteria);
..然后在模板中,我使用異步管道訂閱了這一可觀察的內容。
<div *ngIf="logs$ | async as logs; else loading">
加載此數據后,有一些功能可用於添加新日志,然后我希望將其保存到集合后顯示。 我可以將新值推送到該可觀察值並重新打開對其的訂閱,還是需要在組件中手動訂閱此值並在其中擁有集合,以便可以在組件中推送到它。 提前致謝。
重現http呼叫的this.service.getLogs
是否可觀察? 如果是這樣,您很不走運,因為HTTP可觀察變量在執行后終止(除非您在其中使用管道share())。
如果您是我,我會將日志保留為單獨的集合。 在這種情況下,我可以自由地修改該集合,並且該集合將通過UI反映出來而沒有任何技巧。
我會怎么做
this.logs:Array<Logs>; //declaration
this.service.getLogs(searchCriteria).subscribe(result=>logs=result); // execution in onInit
並按需添加日志
this.logs.push(newLog);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.