我想对此question做同样的事情 对于 n 深度的数组。我有与id,name和parent_id(不是类型)相同的json。我尝试使用ng-template,但它对我不起作用。
我怎么能实现这个目标?
答案 0 :(得分:1)
我确认您无法使用question中提供的树解决方案 所以这里是使用angularjs的用户树的小提琴
<ul>
<!--only get top level nodes where parent_id=0 though filtering -->
<li ng-repeat="user in users | filter:{parent_id:0}:true" ng-include="'userTree'"></li>
</ul>
<!--inside template filter to only get children of this user-->
<script type="text/ng-template" id="userTree">
{{user.name}}
<ul ng-if="has_children(user)" style="margin-left:10px">
<li ng-repeat="child in users | filter:{parent_id:user.id}:true " ng-include="'userTree'" ng-init="user=child">
</li>
</ul>
</script>
控制器中的:
$scope.has_children = function(user) {
for (i = 0; i < $scope.users.length; i++) {
if (user.id == $scope.users[i].parent_id) {
return true
}
}
return false
}
这是工作小提琴的链接: