可以迭代对象并检查它们的属性吗?
{
Obj1 : { visible : true, value : 2}
Obj2 : { visible : false, value : 4}
Obj3 : { visible : true, value : 6}
}
HTML:
<ul ng-show="data.templates.attachments">
<li ng-repeat="(key, value) in data.templates.attachments | filter : value.visible">{{key}}</li>
</ul>
如果我只想展示它是完美的,但我想隐藏这些隐形。
答案 0 :(得分:3)
试试这个
<li ng-repeat="(key, value) in data | filter: {visible: true}">{{value.value}}</li>
更新:
按object
object
属性进行过滤
// only for one property, for example {a: 1}
myApp.filter('filterByProperty', function () {
return function(items, field) {
var result = {},
key = Object.keys(field).pop(),
value = field[key];
angular.forEach(items, function(el, index) {
if (el[key] === value) {
result[index] = el;
}
});
return result;
};
});
答案 1 :(得分:0)
亚历山大已经回答了这个问题,但是如果你仍然希望保留dom中每个对象的元素而只是希望它不被显示(对象中的可见属性会让人觉得它可能没有被显示,而不是没有插入dom),
然后您可以使用ng-class
执行此操作
http://jsfiddle.net/naeemshaikh27/dKjz5/48/