我有一个像这样的简单示例数据
var data = {
"Lines": [
{"Entries": [{"Hours": 5.5},{"Hours": 2.50},{"Hours": 3.75}]},
{"Entries": [{"Hours": 5.1},{"Hours": 2.00},{"Hours": 4.75}]},
{"Entries": [{"Hours": 1.2},{"Hours": 3.00},{"Hours": 2.12}]
}]
}
这是我的模型
function ViewModel() {
var self = this
self.List = ko.observableArray([])
self.LoadData = function () {
var data = {
"Lines": [
{"Entries": [{"Hours": 5.5},{"Hours": 2.50},{"Hours": 3.75}]},
{"Entries": [{"Hours": 5.1},{"Hours": 2.00},{"Hours": 4.75}]},
{"Entries": [{"Hours": 1.2},{"Hours": 3.00},{"Hours": 2.12}]
}]
}
self.List(ko.mappings.fromJS(data.Lines))
////this makes every child observable
}
self.LoadData()
}
$('document').ready(function () {
ko.applyBindings(new ViewModel())
})
这是我的看法
<table id="myTable" class="tablesorter">
<thead>
<tr>
<th>Mon 1 </th>
<th>Mon 2 </th>
<th>Mon 3 </th>
</tr>
</thead>
<tbody data-bind='foreach:Lines'>
<tr data-bind='foreach:$data.Entries'>
<td>
<input type="text" data-bind="value:Hours"/>
</td>
</tr>
</tbody>
</table>
这是示例视图
这是我想要的输出
您可以看到我正在添加需要添加的列和行,这些应该是可观察的。我该怎么做。我不知道从哪里开始。