id
, parentid
및 message
속성 목록이 있습니다. parentid
은 같은 목록의 다른 항목을 참조합니다. 중첩 수준에는 제한이 없습니다. 어떻게 구현할 것인가?Ractive.js 부모 관계가있는 단일 항목 배열의 중첩 목록
var data = [
{
id: 1,
parentid: 0,
message: "I'm 1, and I have no parent."
}, {
id: 2,
parentid: 1,
message: "I'm 2, and 1 is my parent."
}, {
id: 3,
parentid: 1,
message: "I'm 3, and 1 is my parent."
}, {
id: 4,
parentid: 0,
message: "I'm 4, and I have no parent."
}, {
id: 5,
parentid: 1,
message: "I'm 5, and 2 is my parent."
}
];
을 그리고이로 돌려 : 즉
, 방법이를 데리고
<ul>
<li>
I'm 1, and I have no parent.
<ul>
<li>
I'm 2, and 1 is my parent.
<ul>
<li>
I'm 5, and 2 is my parent.
</li>
</ul>
</li>
<li>
I'm 3, and 1 is my parent.
</li>
</ul>
</li>
<li>
I'm 4, and I have no parent.
</li>
</ul>
템플릿에서이 작업을 수행하는 방법을 친절하고 빠른 방법이 있나요? 전체 배열을 루핑하지 않고 새 배열을 만들고 렌더링하는 일없이?
심지어 아무것도 남지 않을 때까지 재귀 적으로 렌더링되는 템플릿의 가장 좋은 구현은 무엇입니까?
ractive.js와
마지막에 가정 :
그런 다음 위의 템플릿 전략의 변형을 사용 데이터 항목'id : 5'는'parentid : 1'이 아니라'parentid : 2'이어야합니다. – martypdx
수정을 원했지만 "편집은 6 자 이상이어야합니다":/ – ythis