2015-05-20 36 views
0

我想問一個問題,假設我的網頁像文本編輯器,我有一些用戶可以在其中寫入的框。 假設我想實現角度自動保存。我在這些盒子裏面有一些ng模型,現在我用ng-watch來聽我所有的盒子模型。 因此,在正常的用戶模式下,ng-watch會不斷獲得我的模型正在改變。 這種方法會在我的網絡應用程序中產生低性能嗎? 如果是這樣,你會推薦我一種實現角度自動保存的方法。

----------- ---------編輯在

簡要

:我想知道的是,如果使用$手錶倍數範圍誰是不斷變化的可能會影響網頁的性能

+0

angularJS文本編輯器的插件。 http://textangular.com/ –

+0

好吧,我的範圍更復雜,我的webapp不完全是一個文本編輯器,我想知道的是,如果使用$ watch多倍範圍誰不斷變化可以影響到網絡頁面性能 –

+0

能否改變是一種更好的選擇?或者你需要在他們輸入的時刻對你的示波器進行** live **更新? –

回答

0

也許您只能通過ng-model將文本綁定到模型,並按照您需要的某個間隔製作計時器。那個計時器會將狀態發佈到後端。

關於性能,ng-watch會像你說的那樣經常火。您可能需要每次擊鍵都需要後端流量。

希望它有幫助!要求提供更多信息,如果您想:)

編輯: 如果你想現場更新,你應該看看像socket.io。

編輯2: 我不會爲性能而擔心,但爲了簡單。我幾次使用了ng-watch,並且一切都變得更難以調試。 乾杯!

+0

我明白不斷調用後端會影響性能,在我的情況下,我不調用後端只是在其他範圍內執行更改 –

+0

我知道我有很多方法來實現它,但正如我說的問題只是爲了好奇是,如果$觀看倍數範圍可以影響網絡性能 –

+0

okia我明白,謝謝luxas! –

0

那麼,您可以選擇「ng-change」或ng-blur來代替$ watch'ing模型。 如果您使用ng-change,那麼您也可以設置一個計時器,一旦用戶停止輸入一秒鐘,該計時器將只會重新評估您的模型。

用戶輸入完成後模糊觸發器只會觸發一次,並模糊輸入。

注意:如果您不想將自動保存請求發送到後端太頻繁,您可以自動保存在客戶端(使用localStorage),這將是即時的。然後,一旦用戶完成編輯並提交表單/準備繼續,您可以將最終保存的信息發送給您的服務器。

+0

okai我要用ng-change試試它,謝謝! –