2013-04-06 60 views
0

我有這樣的:敲除和應用綁定 - 這裏發生了什麼?

socket.bind('TodayTutors', function (data) { 
      tuts.push(data); 
      ko.applyBindings(tuts); 
     }); 

現在,這個綁定接收每30秒的一些數據。然後我將這些數據推送到一個可觀察數組中,並且我想要渲染這些數據。現在,這不起作用,但爲什麼?如果我在ko.applyBindings(tuts);之前放置了一個斷點,則會呈現data,然後當我讓斷點釋放時,將刪除此呈現。所以,我想這樣的事情,希望.push()會自動更新我的看法:

ko.applyBindings(tuts); 
socket.bind('TodayTutors', function (data) { 
       tuts.push(data); 
      }); 

但這並不想要任何工作。我究竟做錯了什麼?

+0

您需要發佈一些更多的代碼。像什麼是tuts?你的觀點是什麼樣子? – Alxandr 2013-04-06 00:45:21

+0

你可以把一個測試用例放在jsfiddle中嗎? – 2013-04-06 00:45:26

回答

0

好像ko.applyBindings();以某種方式操縱應用程序的流量,我解決我的問題,通過這樣做:

{ 
    ko.applyBindings(tuts); 
} 
socket.bind('TodayTutors', function (data) { 
       tuts.push(data); 
      });