我有一个地区列表,每个地区都有一个下拉列表,该列表应该只显示该特定地区的城市。我使用了嵌套ng-repeat
:
<li ng-click="filter_region($event)" ng-repeat="region in regions">
<span>{{region.region}}</span>
<ul class="cityFilter" >
<li ng-repeat="city in cities | filter:cityList">
<input type="checkbox" value="{{city.id}}" ng-model="city.checked" ng-checked="city.checked">
<span>{{city.city}}</span>
</li>
</ul>
</li>
我需要cityList作为动态过滤器。应根据当前区域过滤每个城市。 即区域值需要随着外循环的每次迭代而改变
过滤器的伪代码:
$scope.cityList = function (item) {
if (item.region_id == myDynamicRegion)
return true;
return false;
}
可行吗?
答案 0 :(得分:1)
是的,这是可行的。您可以将参数传递给过滤器:
<div ng-repeat="item in items |filter:x"></div>
过滤器:
yourApp.filter('filter', function () {
return function (item, x) {
// Do the magic.
};
});