您有一个带有 、 和 属性的id
项目parentid
列表message
。parentid
引用同一列表中的其他项目。嵌套级别没有限制。你将如何实现这一点?
换句话说,如何采取这个:
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>
有没有一种很好又快速的方法可以在模板中做到这一点?没有遍历整个数组,构建一个新数组并渲染它?
甚至,递归渲染自身直到什么都没有的模板的最佳实现是什么?