2015-12-21 43 views
0

我創建了下面的樣式,當前的工作原理是我使用AngularJS調用將返回JSON的API。響應是真或假,並基於數據庫中的值,類從白色變爲綠色。綠色代表需要完成。一旦完成,他們點擊紅色按鈕將其清除。這一切都在Angular上以5秒爲間隔運行,並檢查數據庫並重寫$ scope對象。修改類但在異步之後保留類

變更請求進來了,他們希望能夠點擊綠色項目檢查他們完成後,然後單擊紅色按鈕。這個問題,我怎樣才能在不更改用戶已經完成的已經更改的類的情況下更新對象?

enter image description here

+0

所以之前綠色框的狀態是由服務器控制,現在客戶端也可以控制其狀態?您不希望在接下來的5s更新中覆蓋客戶端更改的問題? – lex82

+0

正確,客戶端(用戶)的更改需要在5s更新後保持不變,直到客戶端(用戶)清除它爲止。 –

+0

但是你不想在單擊其中一個框時更新服務器狀態?因此,客戶端和服務器狀態(與盒子有關)有所不同,這是爲了什麼? – lex82

回答

0

你的問題是,有關於盒子的狀態沒有單一的真理了。一個狀態位於服務器中,客戶端看到另一個狀態。

除了擴展您的模型(您的$範圍中的字段)以跟蹤客戶端更改沒有其他方式。例如,您可以將某些複選框標記爲「已鎖定」並阻止更新服務器值。然而,如果你的定期更新只是用一組新的值覆蓋你的模型,你將不得不編寫一些代碼來部分更新現有的模型,而不是完全覆蓋它。