用新数据替换observableArray

时间:2013-11-20 09:10:30

标签: javascript knockout.js ko.observablearray

我有一个像

这样的视图模型
   AppViewModel = {
    agent : ko.observableArray([ {
        name : 'test',
        age  : '23'             
    }])         
};

我的json数据就像

{"agent":[{"name":"john","age":"23"},{"name":"conor","age":"23"}]}

为ajaxcall evry 3秒

如何用新数据替换视图模型

我试过

success : function(responseData) {
    var data = ko.toJS(responseData);
    //AppViewModel.agent.push(data);
     AppViewModel.agent.replace(agent,data);
}

但是做得很好。

2 个答案:

答案 0 :(得分:1)

您只需将新数据分配给数组:

success : function(responseData) {
    var data = ko.toJS(responseData);
    AppViewModel.agent(data);
}

答案 1 :(得分:1)

您所要做的就是设置可观察的

success : function(responseData) {
    var data = ko.toJS(responseData);
    AppViewModel.agent(data.agent);
}