这是我的过滤器:
app.filter('ticketsFilter', function (){
return function (input){
var data = input;
console.log("Filtered object:")
console.log(data);
return input;
};
});
这是我的标记:
<tr ng-repeat="ticket in tickets | ticketsFilter">
<p> {{ticket.createdByName}} </p>
<p> {{ticket.title}} </p>
<p> {{ticket.toDpt}} </p>
</tr>
门票对象是对象的对象。在我的数据库中,有 4 个票证实例。而且,当我的票证通过过滤器时,过滤对象将显示为:
[Object, Object, Object, Object]
我不知道如何访问这些对象。我尝试使用 $index ,收到了依赖注入(inject)。尝试使用(for x in input)循环,但console.log只会显示最后一个对象属性。我已经尝试过(我,我
我可以使用以下方法正确访问我的对象属性:
console.log(data[0].attribute);
但我不知道如何迭代和访问 data[i] 而不是 data[0]。那么,关于如何访问我的对象对象索引有什么建议吗?如果需要,我可以提供更多代码。
感谢您的建议。
@编辑
这就是我的 console.log($scope.tickets) 的样子:
fromDpt: Array[4]
0: Object
1: Object
2: Object
3: Object
每个对象看起来都是这样的:
0: Object
__v: 0
_id: "55ddb1e6ca11301020ef9b77"
createdAt: "1440592358061"
createdById: "55d758ee3a7ff720141a18f8"
__proto__: Object
最佳答案
下面的代码将对票证中的所有对象应用过滤器并返回完整的对象数组:
<tr ng-repeat="ticket in tickets | filter:ticketsFilter">
如果您想使用过滤器来更改特定项目的输出,您可以将过滤器应用到 ng-repeat 以下一级:
<tr ng-repeat="ticket in tickets">
{{ticket.name | filter:ticketsFilter}}
</tr>
但这取决于您希望过滤器做什么。我建议您还查看一些如何应用过滤器的信息:https://docs.angularjs.org/api/ng/filter/filter
如果这对您不起作用,我建议您更具体地说明您希望过滤器执行的操作。
关于javascript - 使用 AngularJS Filter 过滤数据。如何迭代对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32273520/