Javascript 带整数比较的AngularJS过滤器
因此,我在我的网站上有一个“价格”字段,它是使用jQueryUI滑块创建的。此字段由两个整数值组成:minPrice和maxPrice 假设我有一个如下所示的对象数组:Javascript 带整数比较的AngularJS过滤器,javascript,jquery,angularjs,angularjs-ng-repeat,Javascript,Jquery,Angularjs,Angularjs Ng Repeat,因此,我在我的网站上有一个“价格”字段,它是使用jQueryUI滑块创建的。此字段由两个整数值组成:minPrice和maxPrice 假设我有一个如下所示的对象数组: objarr=[ { 'name'='item1', 'price'=100 }, { 'name'='item2', 'price'=200 },... ] 以及以下带有ng重复的div: <div ng-repeat="obj in objarr"> {{obj.name}}: ${
objarr=[
{
'name'='item1',
'price'=100
},
{
'name'='item2',
'price'=200
},...
]
以及以下带有ng重复的div:
<div ng-repeat="obj in objarr">
{{obj.name}}: ${{obj.price}}
</div>
{{obj.name}:${{obj.price}
如何创建一个过滤器,以便只有obj['price']>minPrice和obj['price']
$scope.filterRange = function(obj) {
return obj.price > $scope.range.minPrice && obj.price <= $scope.range.maxPrice;
};
$scope.filterge=函数(obj){
return obj.price>$scope.range.minPrice&&obj.price您可以使用ng show filter:),它非常简单,适合您的问题,可以这样使用,
span>{{obj.name}}:${{obj.price}}}span>
ng展会文件:
最好的祝愿:)另一种方法是编写角度过滤器
app.filter('pricebetween', function(){
return function(items, min, max) {
var filtered = [];
angular.forEach(items, function(item, key) {
if(item.price <= max && item.price >= min) {
filtered.push(item);
}
});
return filtered;
};
});
app.filter('pricebetween',function(){
返回函数(项目、最小值、最大值){
var筛选=[];
angular.forEach(项目、功能(项目、键){
如果(item.price=min){
过滤、推送(项目);
}
});
返回过滤;
};
});
然后在代码中
<div ng-repeat="obj in list | pricebetween:300:500">
在plnkr示例中,我还有大于过滤器
当我尝试此方法时,它不起作用,因为$scope.range的值是在加载对象后设置的。此外,在$scope.range的值更改后,筛选器也没有更新。在这两种情况下,您可能都不会触发$digest loop.simple solution,superb:)是这样,但在使用大量数据的情况下。
<div ng-repeat="obj in list | pricebetween:300:500">