我是Angular的新手,所以这可能很容易。 我有一些JSON数组的一些优惠。每个优惠都有其他价格。我希望能够添加一个过滤器,以便用户可以指定他们的最小/最大花费,并且只能看到属于这些括号的商品。
在列表控制器中我有
// MinMax filter:
$scope.minMax = function(prop, mn, mx){
return function(item){
if ( (Number(item[prop]) >= mn) && (Number(item[prop])<= mx) ) return true;
}
}
在View HTML中,我有两个简单的文本输入字段:
<input id='cheapest' name="cheapest" type='text' value='10' />
<input id='dearest' name="dearest" type='text' value='5000' />
和转发器
<div ng-repeat="offer in offers | filter: minMax('Price' , [?cheapest?], [?dearest?]) ">
当我对值进行硬编码时,过滤器有效,但如何将它们绑定到输入字段?
由于
答案 0 :(得分:1)
这是对船长ngModel
;)
只需绑定input
值:
<input id='cheapest' name="cheapest" type='text' value='10' ng-model="cheapest" />
<input id='dearest' name="dearest" type='text' value='5000' ng-model="dearest" />
并将值传递给过滤器:
<div ng-repeat="offer in offers | filter: minMax('Price', cheapest, dearest) ">
或通过控制器中的$scope.cheapest
访问它们。
我不确定语法,但它会以某种方式工作:)