我有一個組件內部組件的HTML結構(忘記了適當的單詞)。更改檢測不註冊數據更改
basicly這樣工作(大大簡化):
主要的html:
<div *ngFor="let item of data">
<app-item [item]="item"></app-item>
</div>
<button (click)="addItem()">Add</button>
項目的html:
<div>{{item.name}}</div>
<button (click)="deleteItem()">Delete</button>
應用項目中我展示幾個項目從列表。該列表通過http.get請求直接從數據庫中獲取數據。
現在我還可以添加或刪除兩個工作項目(項目分別添加到數據庫或從數據庫中刪除項目)。儘管更改檢測沒有選擇任何項目,並且需要刷新站點(例如,通過F5)以顯示更改。
我檢查了代碼(不是全部來自我),也找不到任何指定的更改檢測策略。
我還嘗試通過ChangeDetectorRef(this.ref.detectChanges();
)手動調整添加和刪除功能中的變化檢測。 儘管這也沒有消除手動刷新頁面以查看更改的需要。
現在我缺少什麼改變檢測來挑選它?或者,如何在添加/刪除方法中手動觸發它?
_change檢測不挑它的任何_ - 什麼做你期望發生? 'addItem'和'deleteItem'做什麼? –
它調用服務,http.post和http.delete請求,因爲數據來自http.get我認爲變化檢測會撿起來 – m41n
@ m41n那麼Angular不會自動激發你沒有告訴角的請求去做。因此,您需要激發'get'請求以從後端獲取「更新」數據。 – Alex