從角度看,似乎沒有內置的方式來存儲模型生命週期狀態,也就是說,由於它是一個異步和潛在的狀態存儲在服務器上的遠程模型的過期拷貝,或者服務器與客戶端相比過期的地方。看着灰燼是怎麼做的,在http://emberjs.com/guides/models/model-lifecycle/,他們有一個模型對象一定數量的狀態:角度模型生命週期狀態:髒和正在進行的記錄
- LOADING
- 加載/ CLEAN
- DIRTY
- 飛行
- 無效
- 錯誤
Angular的模型似乎只是普通的Javascript o對象,所以沒有這個。看看$資源,這似乎與我所尋找的更接近,似乎與狀態無關。我的目標是在需要將某些內容保存到服務器時向用戶說明,以及這種保存的結果。
- 這樣做的好方法是什麼?
- 是否有任何現有的庫,或者我將不得不推出自己的?
編輯:我沒有指DOM與瀏覽器內存中的模型相比已過時。我知道Angular把所有這些作爲2路數據綁定處理,如http://docs.angularjs.org/guide/dev_guide.templates.databinding所解釋的那樣。這是處理狀態,當模型本身可能不同於服務器時。
「Angular的模型似乎只是普通的Javascript對象」。是的,這是一個設計決定。但是,如果$摘要在範圍上運行,則會測試模型有效性。 Angular *會*使用摘要循環跟蹤模型對象的骯髒和有效性。 「我的目標是向用戶明確何時需要將某些內容保存到服務器,以及這樣節省的結果」咦?你有髒/乾淨和有效/無效。您在Ember中列出的其他狀態似乎是在與服務器往返時出現的中間狀態 - 您難以跟蹤$ http/$資源調用嗎? – laurelnaiad
「您在Ember中列出的其他州似乎是在與服務器往返時出現的中間狀態。」是的,這正是我所說的。我瞭解Angular處理模型對象和DOM之間的污染檢查,以便DOM始終保持最新,並且我對此沒有任何問題或疑問。我的意思是,模型在瀏覽器中發生了變化,但尚未持久保存到服務器,或者由於正在進行的$ http/$資源調用,可能會在瀏覽器中更新模型。我會編輯這個問題,使其更加清晰。 –
角形軌道在模型上也是質樸/髒的。由於您負責發生$ http/$資源調用,並且有一個處理程序知道這些調用何時完成(或失敗)的位置,因此我認爲您擁有所有需要的信息。我想我錯過了一些東西。 – laurelnaiad