作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
$scope.items = [
{"name":"laptop","color":"green"},
{"name":"shoe","color":"blue"},
{"name":"Car","color":"gold"},
{"name":"Car","color":"gold"},
{"name":"Car","color":"gold"}
];
如何将包含 name = 'car' 的项目限制为 2,同时保持其他项目不受影响 ng-repeat
?如果我这样做 <li ng-repeat="item in items | filter: {name: 'car'} | limitTo: 2">
,它将返回 2 个汽车结果,但随后其他项目都消失了。
最佳答案
您的场景听起来更像是与“业务逻辑”相关的东西,而不是框架应该包含的功能。尝试实现您自己的自定义过滤器。
接近于:
自定义过滤器:
angular.module('myApp', []).filter('myFilter', function() {
return function(items, param1, param2) {
return items.reduce(function(a,c){ var count = a.filter(function(item){ return item.name ===param1; }).length; if(count<param2 || c.name !== param1 ) a.push(c); return a;},[]);
};
});
并在您的 html
中 <li ng-repeat="item in items | myFilter:'car': 2">
当然,您可以扩展和执行更适合您应用需求的操作。
这里是 plunker demo
关于javascript - 仅将 limitTo 应用于特定的项目组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23623259/
我有一个项目组,其中包含一个可能包含也可能不包含文件的位置。如果在声明项目组时没有文件存在,是否可以在以后重新评估项目组以获取可能在新位置生成的文件,或者我是否必须声明一个此时使用相同的项目组并使用它
我正在尝试编译 Virtual Treeview 中的两个组件(VirtualTreesR.bpl 和 VirtualTreesD.bpl),我将它们合并到一个名为 VirtualTrees.grou
我是一名优秀的程序员,十分优秀!