ngRepeat filter by array-property
ngRepeat filter by array-property
如果我有一个对象的属性是数组,我如何通过该属性的第一个元素进行筛选?
数据
{
Id: "0",
Name: ["John", "Doe"]
}
ng重复
<li ng-repeat="u in users | filter:{Name[0]: 'John'}">{{ u.Name[0] + ' ' + u.Name[1] }}</li>
从这个SO答案中稍作修改,以使用数组:
<li ng-repeat="u in users | filter: {Name: ['John']}">{{ u.Name[0] + ' ' + u.Name[1] }}</li>
更新:这似乎在1.2.1版本之后就不起作用了。你可以看到这个使用v1.2.1的fiddle和这个使用v1.4.8的fiddler的区别。不确定这两者之间发生了什么变化,也不确定该功能是否得到了官方支持。作为替代方案,您可以使用函数谓词,如下所示:
<li ng-repeat="u in users | filter: isJohn">{{ u.Name[0] + ' ' + u.Name[1] }}</li>
控制器:
$scope.isJohn = function(value){
return value.Name[0] === 'John';
};
但话说回来,这并不比创建评论中建议的自定义过滤器(如nubinub)简单多少,而且可重用性肯定更低。
试试这个
<li ng-repeat="u in users | filter:u.Name[0] == 'John'">{{ u.Name[0] + ' ' + u.Name[1] }}</li>
相关文章:
- $(this).prop('property') vs. this.property
- 如何为json对象中的段发送array[]
- Array.length似乎不起作用;console.log则显示其他情况
- 如何迭代Array.prototype函数
- Javascript 新的 Array 和 join() 方法
- Array.lenght = undefined
- Javascript setTimeout for an array
- NodeJS API调用中Array中的Push和Pull元素
- 为什么JavaScript可以'找不到给定的InnerHTML并返回Cannot set property
- 如何在MongoDB中将String转换为Array
- 为什么我可以在Array属性对象中找到Javascript Array for Each方法
- 您的平台不支持RxJS-Array.observe
- 在Jquery/Javascript中的Array中插入Textbox值
- 通过jQueryAjax一起发布Array和Form数据时出现问题
- Array.every返回false,而不是类型error
- Javascript-通过i=0直接传递array[0]与array[0],array[i]在“;如果“;陈述
- ngRepeat filter by array-property
- JQuery .sort() JavaScript Object by property value不起作用
- Angularjs: Order and Filter by array intersect
- angular ng-repeat filter array by key