我想知道是否存在针对此类问题的简单解决方案。
我有一个对象注释,该对象注释可以包含注释,而这些注释也可以包含注释...并且此操作可以进行未知数量的循环。
这是数据结构的示例:
var comment = {
text : "",
comments: [
{ text: "", comments : []},
{ text: "", comments: [
{ text: "", comments : []},
{ text: "", comments : []}
{ text: "", comments : []}
]}
]
}
可以说我会写2个级别的评论:
<div ng-repeat="comment in comments">
{{comment.text}}
<div ng-repeat="comment in comments">
{{comment.text}}
</div>
</div>
我该如何使div的嵌套注释达到“n”级?
最佳答案
最简单的方法是创建一个通用的partial,以便您可以使用ng-include
递归调用并呈现它。
<div ng-include="'partialComment.html'" ng-model="comments"></div>
这是局部的:
<ul>
<li ng-repeat="c in comments">
{{c.text}}
<div ng-switch on="c.comments.length > 0">
<div ng-switch-when="true">
<div ng-init="comments = c.comments;" ng-include="'partialComment.html'"></div>
</div>
</div>
</li>
</ul>
数据模型应该是列表
var comments = [{ ... }]
。我为您创建了一个演示,希望对您有所帮助。
Demo