我有这样的用户
[{id:1,name:'name',parent_id:0,type:1},
{id:2,name:'name2',parent_id:0,type:2},
{id:3,name:"name1 child",parent_id:1,type:1}]
我正在尝试根据 parent_id 和类型 id 显示父母和孩子用户,例如 id 3 是 id 1 的孩子,我试图像这样显示它们
http://jsfiddle.net/U3pVM/689/
感谢帮助
我有这样的用户
[{id:1,name:'name',parent_id:0,type:1},
{id:2,name:'name2',parent_id:0,type:2},
{id:3,name:"name1 child",parent_id:1,type:1}]
我正在尝试根据 parent_id 和类型 id 显示父母和孩子用户,例如 id 3 是 id 1 的孩子,我试图像这样显示它们
http://jsfiddle.net/U3pVM/689/
感谢帮助
我修好了你的小提琴:
<div ng-controller="MyCtrl">
<ol>
<li ng-repeat="user in users | filter:{parent_id:0}">
{{user.name}}
<ol>
<li ng-repeat="child in users | filter:{parent_id:user.id, type:user.type}">
{{child.name}}
</li>
</ol>
</li>
</ol>
</div>
您的主要问题是您试图将“过滤器”过滤器与函数一起使用,这没关系,但该函数不允许使用任何参数。如果您确实需要创建一个带有参数的过滤器,您必须编写一个自定义过滤器: http: //docs.angularjs.org/guide/dev_guide.templates.filters.creating_filters。
但是在您的情况下,您可以使用标准的“过滤器”过滤器并将其传递给您想要的对象。
另外,诅咒你的 Angular 开发人员创建了一个称为过滤器的抽象,然后创建了一个“过滤器”过滤器。我的意思是,这有多令人困惑?
这不是使用过滤器的正确方法。如果您查看文档,您有三个选择:
如果你使用第三种情况
<li ng-repeat="child in users | filter:{parent_id: user.id, type: user.type}">
并且打印孩子的名字
{{ child.name }}
然后你会看到正确的结果。