2013-05-31 136 views
0

我有淘汰赛清爽困难。淘汰赛JS投票不工作

这是我的viewModel;

$(document).ready(function() { 
    ko.applyBindings(new Task(), document.getElementById('taskSummary')); 
    setInterval(Task, 2000); 
}); 

function task(name, description, project) { 
    var self = this; 

    self.name= ko.observable(name); 
    self.description = ko.observable(description); 
    self.project = ko.observable(project); 

} 


function Task() { 
    var self = this; 
    self.tasks = ko.observableArray([]); 
    self.tasks.removeAll; 
    $.getJSON("/api/tasks/5", function (data) { 
     $.each(data, function (key, val) { 

      self.tasks.push(new task(val.Name, val.Description, val.Project)); 

     }); 
    }); 

} 

它将数据返回到视图但在更改后端数据库中的数据时不更新。

任何帮助表示赞赏。我确定它的东西很小,我错过了。

回答

2

淘汰赛,如果你申请你的模型到一个新的任务实例,保存情况可能会更好,然后设置的setInterval循环,可以修改任务的“任务” observableArray值。

$(document).ready(function() { 
var oTask = new Task(); 

ko.applyBindings(oTask, document.getElementById('taskSummary')); 

function onLoop() { 
    var self = oTask; 

    $.getJSON("/api/tasks/5", function (data) { 
     self.tasks.removeAll(); // not sure if you need this... 
     $.each(data, function (key, val) { 
      self.tasks.push(new task(val.Name, val.Description, val.Project)); 
     }); 
    });   
} 

setInterval(onLoop, 2000); 
}); 
+0

嗨柯克,感谢您的。我试过这段代码,它没有收到任何数据。 。 。尽管如此,它还是会有戏剧性的。 – user2441932

+0

恐慌结束 - 已排序。感谢您的柯克,当场 - 比我的复制和粘贴技巧更好:) – user2441932

+0

是我的荣幸。寻找一个“接受”按钮,如果你认为它会帮助其他有类似的问题。 –