1
데이터는 다음과 같습니다. [[1,2,3],[4,5,6]]
그리고 때로는 [[1,2],[4,5]]
과 같습니다. 다음은 HTML입니다.배열의 넉 아웃 배열
<button data-bind="click: refreshJSON">Test</button>
<table>
<tbody data-bind="foreach: array">
<tr data-bind="foreach: subarray">
<td data-bind="text: $data"></td>
</tr>
</tbody>
</table>
<script type="text/javascript">
var ViewModel = {
tableModel : ko.observableArray([[1,2,3],[4,5,6]]),
refreshJSON : function(){
this.tableModel([[1,2],[4,5]]);
}
};
ko.applyBindings(ViewModel);
</script>
나는 내가이 작업을 수행하거나, 어떻게 HTML에 data-binds
을 수행하는 방법에 대한 불분명 해요 그러나 서브 어레이의 각 ko.observableArray()
를 사용하는 한 같은데요.
단지 직접'tableModel'을 설정, 개별적으로 항목을 추가 할 필요가 없습니다. 그러나 어쨌든, 바인딩은 바로 수정해야했습니다. –
현재, knockout은'observableArray' 목록 안의'observableArray'와 잘 맞지 않습니다. Jeff가 말했듯이, 여러분은 outer observableArray 만 필요하고, 그냥 outerArray로 설정하면됩니다. 이 [문제] (https://github.com/SteveSanderson/knockout/issues/482)를 참조하십시오. –
@JeffMercado : 나는 그것을 시도하지 않았지만 observableArray 내부에 배열이 있다면 내부 배열에 대한 제거 및 추가를 볼 수 있습니까? 나는 그렇게 생각하지 않을 것이다. 하지만 (마이클에 따르면) observableArray를 어쨌든 observerableArray에 포함시키지 않는다고 생각합니다. –