2014-01-20 46 views
1

我們通過撥打app.start()開始使用durandal構建的應用程序,然後設置我們爲承諾的then提供的功能的銷售。現在,通常情況下,我似乎有人在applicationHost div內添加一個啓動屏幕,它將在加載應用程序期間接收應用程序內容,但是我想知道是否可以獲取加載進度,以便我們可以顯示一個進度酒吧正在填充,而應用程序加載。是否有可能在應用程序啓動時獲得Durandal加載進度?

問題是我無法思考如何獲得這種進步的衡量標準,也不知道該放哪裏。這是因爲,承諾的then中的函數在加載完成後運行,所以我不知道如何截獲該過程以獲取此度量,然後填充該條。

有沒有辦法做到這一點,或者這是不可能的?

+0

也許pub sub可以幫助這裏。將這些進度通知創建爲觸發的應用程序範圍事件 – zewa666

+0

app.start()運行的操作非常少。應用程序的真正肉和骨骼應該在該點之後完成(加載查找數據等),並且可以使用回調來增加進度條,從而將每個操作的承諾綁定在一起。另一種方法是顯示一個永久加載的通用進度元素(HTML5),但是這並沒有比當前的實現做得多。 –

+0

你的應用一旦壓縮就有多大? –

回答

1

您可以使用訂閱者/發佈

創建一個簡單的裝載機是設計加載顯示綁定到一個可觀察進度條的視圖模型/視圖事件做到這一點。 接下來加載視圖模型並調用事件來指示它的進度。在主(加載器)視圖模型上訂閱事件並增加可觀察的進度。

這將允許進度條在模塊加載時遞增。當使用複雜的根/子路由加載多個視圖模型時,這非常方便。

唯一的問題是進度增量需要根據代碼的變化進行調整。

相關問題