我想知道,我如何设置一个过滤器,只重复带有颜色的物品?我希望网格上方有一个复选框,标题为“显示有颜色的颜色”,根据颜色数组的选择过滤列表,并在未选中时显示ALL。
{
"_id": "54d13c3f3c25d5d8123a1d62",
"name": "Barry",
"colours": ["239, 101, 128"]
},
{
"_id": "54d13sfg5d5d8hgf6gg",
"name": "John",
"colours": []
},
{
"_id": "34d13sfg5d5d4tt6g",
"name": "Andrew",
"colours": []
},
{
"_id": "44d165d5d4t77t6g",
"name": "Gary",
"colours": ["25, 234, 22", "5, 100, 255"]
},
答案 0 :(得分:10)
以下内容会让每个人都没有颜色:
<div ng-repeat="item in items | filter: { colours: '!' }">
再次否定它,让每个人都有颜色:
<div ng-repeat="item in items | filter: { colours: '!!' }">
答案 1 :(得分:2)
我认为您使用控制器功能来测试颜色的存在 所以haml / coffeescript
%tr{"ng-repeat2 => "item in list | filter: hasColour(item)"}
和hasColour是一个控制器函数
$scope.hasColour= (item) ->
item.colours.length > 0
未经考验我害怕