2013-12-10 18 views
1

我有一個應用程序,在按鈕上單擊我通過SignalR調用服務器功能。 功能完成後我改變了狀態,但是如何顯示函數init和done之間的加載消息?SignalR,KO:當服務器功能調用時顯示加載消息

self.readyBill = function (data, event) { 
    self.hub.server.billReady(self.OrderId).done(function() { 
     self.Status("B"); 
     window.location.href = "BillDetail.aspx?Code=" + self.OrderId; 
    }).fail(function (err) { 
     self.error(err); 
     return false; 
    }); 
} 

回答

2
self.loading = ko.observable(false); 

self.readyBill = function (data, event) { 
    self.loading(true); 

    self.hub.server.billReady(self.OrderId).done(function() { 
     self.Status("B"); 
     window.location.href = "BillDetail.aspx?Code=" + self.OrderId; 
    }).fail(function (err) { 
     self.error(err); 
     return false; 
    }).always(function() { 
     self.loading(false); 
    }); 
} 

不,你可以綁定loading在您的視圖:

<div data-bind="visible: loading">Loading, please wait</div> 
+0

嘿@janfoeh,你能描述一下這個'總是()'做什麼? –

+0

無論請求是成功還是失敗,'.always'總是被執行。 – janfoeh

+0

謝謝@janfoeh所有的努力。你能提供文檔鏈接,我可以找到這些功能的描述嗎? –

相關問題