我編寫a Plunker簡化了一個應用程序場景,我正在編寫這種情況。AngularJS在模型更改後不會令人耳目一新的視圖
場景的一點解釋:
- 沒有加載到$範圍的交易列表(類型交易的對象)
- 該控制器監聽由服務產生的事件控制器負責持久化新的或更新的交易對象,然後重新加載模型
- 該視圖使用ng重複呈現交易列表
- 每個交易可以單獨更新(提交或回滾)
- 的AngularJS應用程序有創建一個新的事務對象每隔2秒,模擬的是,這些交易都來自外部源(針對服務器的$ HTTP請求,例如)一個run()塊
什麼您將看到在模型在接收到服務產生的事件後重新分配新的對象列表時,不會重新加載視圖。
我一直在拖着我的頭髮脫離過去的48小時。這種行爲最常見的原因是在AngularJS之外修改模型,而不是調用$ apply(),但是(我認爲)並非如此。
還嘗試檢查$範圍。$$階段和調用手動$應用或$摘要(即使這可能被認爲可能是壞的),根本沒有成功。
我做錯了什麼?這是一個錯誤?有沒有其他策略可以應用?
什麼假設發生時,你打一個「手動刷新」按鈕? – Stewie
我想你已經通過下面的答案計算出來了......無論如何,這個按鈕強制重新加載模型(因爲當事件發生時它沒有這樣做) – ggalmazor