2011-12-24 16 views
7

Kullanıcı tarafından oluşturulan bir etkinlik olmadan saati nasıl görüntülerim ve güncellerim? İşte başlangıç ​​benim, ama görünümünü yenilemek için nasıl elde edeceğini anlayamıyorum. Aşağıdaki HTML ileEkranda otonom güncelleme güncelleniyor

function viewModel() { 
    this.clock = ko.computed(function() { return new Date().getTime(); }, this).extend({ throttle: 1000 }); 

}; 

ko.applyBindings(new viewModel()); 

:

<span data-bind="text: clock"></span> 

İşte jsfiddle bu. Bu HTML ile birleştiğinde

function viewModel() { 
    var self = this; 

    this.clock = ko.observable(new Date()); 

    this.tick = function() { 
     self.clock(new Date()); 
    }; 

    setInterval(self.tick, 3000); 
}; 

ko.applyBindings(new viewModel()); 

:

<span data-bind="text: clock"></span> 

cevap

19

Bu

hile yapmak gibiydi.
+0

Zarif yapılan –

+0

başarı! Harika. –

0

ko.now = function(interval) { 
 
    var now = ko.observable(); 
 
    var time = new Date().getTime() 
 
    setTimeout(function() { 
 
    setInterval(function() { 
 
     now(new Date()); 
 
    }, interval); 
 
    now(new Date()); 
 
    }, interval - time % interval); 
 

 
    now(new Date(time - time % interval)); 
 
    return now; 
 
} 
 

 
ko.applyBindings({ now: ko.now(5*1000) });
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.2.0/knockout-min.js"></script> 
 
<div id="clock" data-bind="text: now"></div>