我在C#Web Api控制器中具有以下结构的数据:
Dictionary<string, List<Project>> projects ....
字典中的关键字只是月份名称-项目按月份分组。
我的淘汰赛ViewModel:
function ProjectsViewModel(data) {
var self = this;
self.projects = ko.observableArray([]);
for (field in data) {
if (data.hasOwnProperty(field)) {
self.projects.push(new DictionaryItem(field, data[field]));
}
}
}
function DictionaryItem(key, value) {
this.key = ko.observable(key);
this.value = ko.observableArray(value);
}
var viewModel;
$(function() {
var baseUri = '@ViewBag.ApiUrl';
$.getJSON(baseUri, function(data) {
viewModel = new ProjectsViewModel(data);
ko.applyBindings(viewModel);
});
});
我想使用一个具有以下格式的表通过淘汰赛呈现此数据:
[key]
[project row]
[project row]
[key]
[project row]
[project row]
...
我正在尝试使用Knockout进行以下标记:
<table>
<tbody data-bind="foreach: projects">
<tr>
<td data-bind="text: key"></td>
</tr>
<!-- ko:foreach: value -->
<tr>
<td data-bind="text: Name"></td>
</tr>
<!-- /ko -->
</tbody>
</table>
但这不起作用-OT仅产生“关键”行。我怎样才能实现自己想要的?也许我这样做基本上是错误的,应该在View中对数据进行分组而不是在服务器端进行?
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句