【发布时间】:2015-09-23 18:24:31
【问题描述】:
我有这个功能:
function updatedata(data)
{
var obj = jQuery.parseJSON(data);
if(obj.hasOwnProperty('request_type'))
{
if (obj.request_type == 'client_information')
{
var ViewModel = function (Clients) {
var self = this;
this.Clients = ko.mapping.fromJSON(JSON.stringify(Clients));
};
var info = new ViewModel(obj.clients_information);
ko.applyBindings(info);
}
}
}
HTML:
<ul id="mychats" data-bind="foreach: Clients" data-role="listview">
<li class="not_selected" data-bind="id: chatid, text: client_name"></li>
</ul>
函数时不时调用,第一次调用时可以正确绑定数据到ul,多次调用时不能正确绑定。
【问题讨论】:
-
如果您多次调用
updatedata,您可能会多次调用ko.applyBindings,这势必会给您带来错误。你检查过控制台吗?此外,您是否有可能稍微重写问题中的代码,以便重现您的场景? -
另外,你应该仔细阅读the
mappingdocumentation,它有一些关于如何更新使用该插件创建的视图模型的信息。
标签: javascript jquery json knockout.js