궁금한 점은 현재 'foreach'바인딩이 배열을 반복하는 방식과 같이 링크 된 목록을 반복하는 'foreach'바인딩을 만드는 방법이 궁금합니다.Knockout.js 연결된 목록에 대한 'foreach'바인딩
나는 a jsFiddle for tinkering을 만들었습니다.
링크드리스트는 Knockout.js와 함께 사용하는 유용한 관용구가 될 수 있다고 생각합니다. 특히, DOM이 추가되었거나 제거 될 때 (즉, 요소가 추가/제거 될 때 전체 목록이 업데이트되지 않음) 요소의 업데이트 만 수행되며 목록의 중간에 추가/제거하는 것은 복잡합니다. 배열에 대한 O (1) 대 O (n).
게시물 주셔서 감사합니다. 제 3 항의 문제를 이해하지 못합니다 - 제발 좀 더 자세히 설명해 주시겠습니까? 변화를 촉발시킨 관측자가 필요한 이유는 무엇입니까? 이전 요소를 의미합니까? 나는이 구조가 필연적으로 양방향 링크 된 목록 (이 이유 및 다른 이유로)이 될 것이라고 기대하고 있습니다. 문제가 해결 될 수도 있습니다. 걱정되는 부분은 모든 ko.observables의 오버 헤드입니다. 나는 (아마도 실수로) 매우 반복적이라고 생각했습니다. 단,이 반복자가 없어야하는 구독 계층의 맨 아래에있는 경우는 예외입니다. –
대체 접근법은 링크 된 목록을 가로 지르는 '계산 된'관측 가능성을 갖는 것이고, 각 요소를 평면 배열, 정렬 된 배열에 넣는 것, 그러면 그것에 대해 'foreach'할 수 있습니다. 이것이 당신이 원하는 것을 성취 할 수있게 해 줄 것입니까? – WickyNilliams
답변을 업데이트했습니다. 어떻게 계산 된 결과가 도움이되는지 알지 못한다. 단지 값 비싼 배열이된다. 나는 처음부터 배열을 사용하지 않는 이유를 볼 수 없다. 해당 섹션을 처음부터 업데이트하지 않는 새로운 바인딩을위한 공간이 있지만 배열을 계속 사용합니다. – SystemParadox