我正在使用KoGrid进行数据绑定。并且以下代码看起来效果很好:
var ViewModel = { prizeCollection:ko.observableArray; }
然后使用PrizeCollection(数据)将其绑定到代码中的某个位置;当我在以下模板中使用它时,它的效果非常好:
<div data-bind="koGrid: { data: PrizeFulfilmentStatuses , columnDefs: [ { field: 'Description', width: 140 },
{ field: 'Order', width: 100, headerClass: 'specialHeader' },
{ field: 'ColorHex', width: 150,cellTemplate: 'editTemplate' },
{ field: 'Editable', width: 180, cellClass: 'specialCell' },
{ field: 'ID', width: 170 }, { field: 'Who', width: 170 }],
autogenerateColumns: false,
isMultiSelect: false,
enablePaging: true
} "></div>
一切都很棒。我可以绑定一次,当新数据来自服务器时,我可以多次绑定它,它看起来效果很好。
现在,当我使我的ViewModel有些像以下那样:
ViewModel = function(){ var PrizeCollection = ko.observableArray(); }
并将其与HTMl上的相同模板结合使用,第一次数据加载根本不是问题。但第二次加载时,浏览器挂起,当我查看firebug时,它会给我以下错误:
data.column is not defined.
基本上data.column是空的。
我不确定为什么它会遇到相同数据的问题。我也试过用
取消绑定 ko.cleanNode(document.getElementById("KoGridContainer"));
那也不是那么有用
有什么建议吗?