是否可以将 HTML 输入字段变量传递给自定义 Angularjs 过滤器?
Is it possible to pass HTML input field variables to a custom Angularjs filter?
我是 Angular 的新手,所以这可能真的很简单。
我有一些优惠的 JSON 数组。每个报价都有一个价格等。我希望能够添加一个过滤器,以便用户可以指定他们的 min/max 花费并且只看到属于这些括号的报价。
在我的列表控制器中
// MinMax filter:
$scope.minMax = function(prop, mn, mx){
return function(item){
if ( (Number(item[prop]) >= mn) && (Number(item[prop])<= mx) ) return true;
}
}
在视图中 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?]) ">
当我硬编码输入值时过滤器可以工作,但我如何将它们绑定到输入字段?
谢谢
这是对船长的召唤 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
访问它们。
虽然我不确定语法,但它会以某种方式工作:)
我是 Angular 的新手,所以这可能真的很简单。 我有一些优惠的 JSON 数组。每个报价都有一个价格等。我希望能够添加一个过滤器,以便用户可以指定他们的 min/max 花费并且只看到属于这些括号的报价。
在我的列表控制器中
// MinMax filter:
$scope.minMax = function(prop, mn, mx){
return function(item){
if ( (Number(item[prop]) >= mn) && (Number(item[prop])<= mx) ) return true;
}
}
在视图中 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?]) ">
当我硬编码输入值时过滤器可以工作,但我如何将它们绑定到输入字段?
谢谢
这是对船长的召唤 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
访问它们。
虽然我不确定语法,但它会以某种方式工作:)