ko.applyBindings()이 (가) 사용 된 기본 viewmodel의 하위보기 모델 인 두 개의 viewmodels 속성을 사용하여 테이블을 생성하려고합니다.knockout foreach 중첩 문제
아이디어는 첫 번째 셀이 요소의 이름 인 SubVM1의 각 요소에 대한 행을 생성하는 것입니다. 그런 다음 SubVM2의 모든 요소에 대해 추가 셀이 행에 추가됩니다.
행이 올바르게 생성되고 첫 번째 셀에 SubVM1 이름이 표시되지만 많은 요소가 SubVM2에있는 대신 하나의 셀만 나타납니다.
또한 데이터 바인딩의 기능도 작동하지 않습니다. SubV2의 프로토 타입으로 Value 함수를 선언하려했지만 정의되지 않은 값으로 오류가 발생했습니다.
무엇이든지간에 확실한 것은 바인딩 컨텍스트에서 분명히 일어나고 있으며 도움을 주시면 감사하겠습니다.
<tbody data-bind="foreach: {data: SubViewModel1, as: 'SubVM1'}">
<tr>
<td data-bind="text: SubVM1.Name" />
<!-- ko foreach: {data: $root.SubViewModel2, as: 'SubVM2'} -->
<td data-bind="text: Value(SubVM1.Type)"></td>
<!-- /ko -->
</tr>
</tbody>
편집 : 일부 jsfiddle 수행 : 내가 볼 수있는 몇 가지가 있습니다 http://jsfiddle.net/jgr71o8t/1
이 jsfiddle 포함 화면에 반영되지 않습니다 –
은 여기 jsfiddle입니다하시기 바랍니다 문제를 나타내는 : http ://jsfiddle.net/jgr71o8t/4 – barthooper
잡히지 않은 오류 : 바인딩을 구문 분석 할 수 없습니다. 메시지 : ReferenceError : SubVM1이 정의되지 않았습니다. 바인딩 값 : 텍스트 : SubVM1.Name –