2014-03-25 39 views
0

因此,我正在尝试创建一个与HTML中的内置角度筛选器的工作方式相同的筛选器,但需要使用变量而不是特定值。使用angularJS将变量传递到标准筛选器

E.g.在我的HTML文件,我有这样的事情:

<tr ng-repeat = "item in Items | filter:{function:'1300'}"> 
    <td>[[item.name]]</td> 
</tr> 

,但我希望能够在一个变量来传递,而不是“1300”,其价值当在用户点击按钮(按钮链接到定义具体值)。

我试图重新创建一个filter.js文件中的内置过滤函数,并在我的控制器中调用它无济于事。

任何帮助,将不胜感激!

回答

0

你可以做这样的事情jsBin

<tr ng-repeat = "item in Items | filter:{function:theFilter}"> 
    <td>{{item.name}}</td> 
</tr> 

,有你的按钮是这样的:

<button ng-click="setFilter(1300)">1300</button> 
<button ng-click="setFilter(1400)">1400</button> 
<button ng-click="setFilter(1200)">1200</button> 

而且你的控制器的方法是这样的:

$scope.setFilter = function(filter) { 
    $scope.theFilter = filter; 
}