我的工作,我现在用KOGrid仪表板,我的想法是动态创建一堆部件和绑定数据到kogrid每个部件。 我有两个控制器(MVC4),其中拳头返回插件名称和所述第二返回结果(数据表),用于JSON格式每个插件的列表。 我使用JSON.Net JsonConvert转换的结果,以JSON格式,然后通过为JSON内容的结果。
我得到“未捕获的错误:在初始化时可观察到的阵列必须是一个数组,或者为null或undefined传递的参数”。 它是嵌套调用JSON的一个问题? 什么是处理复杂对象的数组,并将其绑定到多个网格最可靠的方式。 它是否有助于如果我使用knockout.mapping?
VAR部件= {};
var Widget = function (id, data) {
this.id = ko.observableArray(id || []);
this.data = ko.observableArray(data || []);
};
var ViewModel = function (data) {
var self = this;
self.widgets = ko.observableArray(
ko.utils.arrayMap(data, function (i) {
return new Widget(i);
}));
$.getJSON('Widgets/Get', null, function (data) {
$.each(data, function (index, item) {
$.getJSON('Home/GetWidgetDetails?widgetName=' + item.WIDGET_NAME,
function (result) {
self.widgets.push(new Widget({ id: item.WIDGET_NAME, data: result }));
});
});
});
};
ko.applyBindings(new ViewModel(widgets));