1
我有一個服務文件,提醒系統Subjects
,當設置值時,它也設置爲3秒後重置爲null使用setTimeout()
方法。但在將changeDetection: ChangeDetectionStrategy.OnPush
添加到app.component.ts
後,似乎搞亂了所有的SetTimeout()
方法。有沒有辦法在服務中使用ChangeDetectorRef
?是否可以將ChangeDetectorRef添加到Angular 4服務的構造函數中?
storage.service.ts
private errorMsg: Subject <string> = new Subject();
private successMsg: Subject <string> = new Subject();
constructor() {}
setSuccessAlert(msg: string) {
this.successMsg.next(msg);
setTimeout(() => {
this.successMsg.next(null);
}, 3000);
}
你想要這個任何具體的原因?可能還有其他方法 –
我有一個服務,它擴展了服務端調用攔截目的'Http',並且在檢查後發現'Expression已經改變了。之前的值:'false'。當前值:不斷。有ChangeDetection策略'停止錯誤。這是我需要這個的唯一原因。 –
這是一個工作,實際上你應該嘗試和消除服務調用中的這個錯誤,以獲得最好的結果@在角度獲取之前,你要改變什麼值 –