Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 使用数组中的值筛选ng重复_Angularjs - Fatal编程技术网

Angularjs 使用数组中的值筛选ng重复

Angularjs 使用数组中的值筛选ng重复,angularjs,Angularjs,我有这张桌子,上面有一张桌子 ng-repeat="project in projects" 我在项目中有一处房产,prj_city。我想过滤这个值 我可以这样做: ng-repeat="project in projects | filter={prj_city: <value>} ng repeat=“项目中的项目|过滤器={prj_城市:} 但是我希望是一个包含多个城市的数组,而不是一个字符串。有什么简单的方法可以做到这一点,或者我必须在我的控制器中手动执行此筛选吗?您需

我有这张桌子,上面有一张桌子

ng-repeat="project in projects"
我在项目中有一处房产,
prj_city
。我想过滤这个值

我可以这样做:

ng-repeat="project in projects | filter={prj_city: <value>}
ng repeat=“项目中的项目|过滤器={prj_城市:}

但是我希望
是一个包含多个城市的数组,而不是一个字符串。有什么简单的方法可以做到这一点,或者我必须在我的控制器中手动执行此筛选吗?

您需要在控制器上创建一个筛选函数。类似于:

$scope.filteredCities = function(city) {
    return ($scope.userFilteredCities.indexOf(city) !== -1);
};

$scope.userFilteredCities;//List of filtered cities

最有可能的是,控制器中的自定义过滤器应足够简单,如下所示:

var filteredCities = ["LosAngelos", "etc.."];

$scope.arrayFilter = function(project) {
    for (var i = 0; i < filteredCities.length; i++) {
        if (filteredCities[i] == project.prj_city)
            return true;
    }
    return false
}

在控制器中定义以下功能:

// use a map for faster filtering
var acceptedCityMap = {};
angular.forEach(acceptedCities, function(city) {
    // case insensitive search. But you're not forced to
    acceptedCityMap[city.toLowerCase()] = true;
});

$scope.isProjectedAccepted = function(project) {
    // case insensitive search. But you're not forced to
    return acceptedCityMap[project.prj_city.toLowerCase()];
}
在你看来:

ng-repeat="project in projects | filter:isProjectAccepted"
ng-repeat="project in projects | filter:isProjectAccepted"