1

我有一个地区列表,每个地区都有一个下拉列表,应该只显示该特定地区的城市。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;
        }

可行吗?

4

1 回答 1

1

是的,这是可行的。您可以将参数传递给您的过滤器:

<div ng-repeat="item in items |filter:x"></div>

和过滤器:

 yourApp.filter('filter', function () {
        return function (item, x) {
            // Do the magic.
        };
 });
于 2013-10-08T10:57:47.877 回答