有同樣的問題,很多人在計算器上我沒明白什麼是「外部角區」服務後?角度2:什麼使服務成爲「外部」角區域?
我已經檢查解決此問題的所有存在的問題,而且它也正是爲什麼我needer問這一個:
- https://github.com/angular/angular/issues/5150
- Angular2: view is not updated from inside a subscription
- https://blog.thoughtram.io/angular/2016/02/22/angular-2-change-detection-explained.html
- http://blog.assaf.co/angular-2-change-detection-zones-and-an-example/
具有默認更改的任何組件中的代碼示例DetectionStrategy: (考慮THIS.VALUE在視圖中引用)
this.myService.method().subscribe(e => {
this.value = e;
});
是給定的服務不 「外角區」,認爲是刷新,而另一方面,如果這是「外角區域」,視圖不是刷新,除非我們調用ChangeDetectorRef.detectChanges()。
所以,問題是:如何知道的情況,如果一個服務是內部或外部的「角區」?
不一定在運行時。我想知道什麼樣的服務能夠自動更新視圖以及哪些服務不是。 – Sid
everthing你將運行在'zone.runOutsideAngular'不會更新視圖。 –