2012-03-06 39 views
2

不知道是否有可能,因爲我無法在網上找到任何東西。 我有一個KO模板,我有大約100條記錄。如何在單獨的「線程」或異步中對模板應用綁定?

在IE 8中(由於其次優JS引擎),該頁面大約需要15秒才能加載。 在Firefox中,大約需要6秒。

我已經證實,在IE中約5秒丟失到ko.applyBindings

有沒有辦法異步應用綁定?也許有一個加載圖標,以便用戶可以繼續使用該頁面,而KO正在處理該模板。

+0

這有點biiig模板?也許在jsfiddle中的一些例子? – AlfeG 2012-03-06 11:42:47

+1

跨瀏覽器「分離運行代碼」的方式是將工作分成塊,然後使用'setTimeout(process_some_part,0);' – kirilloid 2012-03-06 12:14:28

回答

4

我有類似的問題。你需要在這裏使用setTimeout。在我的應用程序:

  1. Initalize空(或相當空)視圖模型
  2. 應用綁定(顯示「請稍候...」消息,由於模型上的依賴屬性,指示,如果所有的數據已加載)。
  3. 添加數據塊到視圖模型(我相信你有保存大部分數據可觀察到的數組,這樣你就只推說在同一時間10個項目進入可觀測陣列)

這就是答案那讓我去用的jsfiddle展示瞭如何在綁定使用的setTimeout:

Show progress bar while knockout is rendering the view

+0

完美謝謝! – 2012-03-06 12:30:33

相關問題