Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/465.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Angular JS-如何使用多个链接筛选列表_Javascript_Angularjs - Fatal编程技术网

Javascript Angular JS-如何使用多个链接筛选列表

Javascript Angular JS-如何使用多个链接筛选列表,javascript,angularjs,Javascript,Angularjs,我在Angular JS中使用filter函数时遇到问题。 我必须使用不同的链接过滤我的列表。 我不明白如何筛选列表。尝试了一些示例,但不起作用。我该怎么做?? 这是我现在的代码: HTML <tr ng-repeat="rubric in examplerevisions | filter:myFilter" class="{{rubric.translationProposal.validations[0].class}}"> <td></td>

我在Angular JS中使用filter函数时遇到问题。 我必须使用不同的链接过滤我的列表。 我不明白如何筛选列表。尝试了一些示例,但不起作用。我该怎么做?? 这是我现在的代码:

HTML

<tr ng-repeat="rubric in examplerevisions | filter:myFilter" class="{{rubric.translationProposal.validations[0].class}}">
    <td></td>
    <td>{{rubric.translationProposal.validations[0].createdBy}}</td>
    <td>{{rubric.translationProposal.validations[0].createdOn | date:'dd/MM/yyyy'}}</td>
    <td>{{rubric.translationProposal.validations[0].action}}</td>
    <td>{{rubric.action}}</td>
</tr>

<a href="" ng-click="myFilter = {action: 1}">OK</a>
<a href="" ng-click="myFilter = {action: 2}">New Proposal</a>
<a href="" ng-click="myFilter = {action: 3}">Null</a>

当您查看页面的最后一个示例时,我认为参数应该类似于
ng click=“myFilter.action=1”
myFilter[1]。action=1

你能提供一个JSFIDLE或者一些可以尝试的东西吗

编辑:我不知道这样做是否可行。我可能会为此编写自己的过滤器。或者我会将JSON转换为数组,就像我在这里所做的那样:

如果您想继续使用对象格式,请查看以下答案:


{{rubric.translationProposal.validations[0].createdBy}
{{rubric.translationProposal.validations[0].createdOn |日期:'dd/MM/yyyy'}
{{rubric.translationProposal.validations[0]。操作}
{{rubric.action}
这应该是一个技巧,若您想通过it节点的值过滤对象,那个么myFilter需要是您的对象的根

------编辑----------


不知道为什么我没有马上注意到它,过滤器实际上不适用于对象对象,您需要一个对象数组,请在此处查看您的plunker的更新版本:

是的,谢谢!现在可以了!我在1小时前做的,效果很好。谢谢,我的回答实际上是第一个,但基本上是一样的:P
{
"1":{
    "id":1,
    "action":1,
    "translationProposal":{
        "id":1,
        "status":"ACCEPTED",
        "createdOn":1393946608751,
        "createdBy":12,
        "validations":[
            {
                "id":0,
                "action":"ACCEPT",
                "proposedAlternative":"Traduzione alternativa",
                "createdOn":1393946608751,
                "createdBy":12
            }
        ]
    }
}
}
<tr ng-repeat="rubric in examplerevisions | filter:myFilter" class="{{rubric.translationProposal.validations[0].class}}">
<td></td>
<td>{{rubric.translationProposal.validations[0].createdBy}}</td>
    <td>{{rubric.translationProposal.validations[0].createdOn | date:'dd/MM/yyyy'}}</td>
    <td>{{rubric.translationProposal.validations[0].action}}</td>
    <td>{{rubric.action}}</td>
</tr>

<a href="" ng-click="myFilter[1].action = 1}">OK</a>
<a href="" ng-click="myFilter[1].action = 2}">New Proposal</a>
<a href="" ng-click="myFilter[1].action = 3}">Null</a>