是否可以将HTML输入字段变量传递给自定义Angularjs过滤器?

时间:2015-02-10 08:37:01

标签: javascript angularjs binding filter

我是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?])  ">

当我对值进行硬编码时,过滤器有效,但如何将它们绑定到输入字段?

由于

1 个答案:

答案 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访问它们。

我不确定语法,但它会以某种方式工作:)