角递归ng-include,同时跟踪递归深度
Angular recursive ng-include while keeping track of recursion depth
我有一个非常类似于这个问题的答案的情况:
AngularJS ng-include with nested hierarchy
我有一些格式为
的数据 $scope.data = {
text: "blah",
comments:
[
{
text: ["blahL11", "blahL12", "blahL13"],
comments: [
{
text: ["blahL111", "blahL112", "blahL113"]
},
{
text: ["blahR111", "blahR112", "blahR113"]
}
]
},
{
text: ["blahR11", "blahR12", "blahR13"]
}
]
};
我用递归的ng-include来显示它,像这样:
<ul>
<li>{{data.text}}</li>
<li ng-repeat="item in data.comments" ng-include="'tree'"></li>
</ul>
<script type="text/ng-template" id="tree">
<ul>
<li ng-repeat="text in item.text">{{text}}</li>
<li ng-repeat="item in item.comments" ng-include="'tree'"></li>
</ul>
</script>
http://plnkr.co/edit/8swLos2V6QRz6ct6GDGb?p = info
然而,我也想以某种方式跟踪递归的深度。而不是简单地显示:
-blah
-blahL11
-blahL12
-blahL13
-blahL111
可以显示
-1. blah
-2. blahL11
-2. blahL12
-2. blahL13
-3. blahL111
不需要修改数据结构(因为深度只用于显示?)。我可以在ng-include中插入一个变量吗?我可以使用某种递归的$索引吗?
您可以使用ng-init
来完成此操作。这将在创建新作用域时为其分配一个值,这可以通过引用旧作用域中的值并对其进行自增来实现。
<li ng-repeat="item in item.comments" ng-include="'tree'" ng-init="depth = depth + 1"></li>
相关文章:
- 数组在递归方法中设置为null
- Kendo:我该如何在树视图中创建一个递归的hieiarchy
- 递归使用 eval() 是检查程序执行的好方法吗?
- 使用递归、Ramda.js和无点样式重构字符串的getPermutations()
- 递归深度比较
- Eloquent JavaScript递归示例如何终止为返回1,但仍然输出指数值
- 递归函数中断
- 如何递归地获取嵌套对象中所有子对象的列表
- JavaScript 素数搜索无限递归
- 在递归生成器函数中,yield后面的*(星号/星号)语法意味着什么
- 递归|两个函数名
- 有没有一种方法可以在Javascript中进行可变递归currying
- 如何对不同的表递归使用以下代码
- 将jQuery对象传递到setTimeout递归函数中
- 有更好的方法吗?(递归解析HTML unicode实体)
- 为什么递归生成器函数没有't在ES2015工作
- 为什么我达到了 $digest () 迭代?如何跟踪递归脚本的活动
- Javascript中的递归函数和深度跟踪
- 角递归ng-include,同时跟踪递归深度
- 跟踪javascript对象在递归过程中何时升级