Search angularJS搜索模型

Search angularJS搜索模型,search,angularjs,Search,Angularjs,我是安格拉斯的新手。我需要对JSON数据执行搜索。下面是一个JSON结构示例 国家=[ { “国家名称”:“印度”, “电台”:[ { “名称”:“梦想工厂” } ] }, { “国家名称”:“印度尼西亚”, “电台”:[ { “名称”:“鼓手工厂” }, { “姓名”:“节拍” } ] } ] 假设我键入Ind,我需要匹配字符串的国家,并返回India和Indonesia 同样在其他字段中,键入工厂应检索与字符串匹配的电台名称(此处鼓手工厂,梦想工厂) 实现这一目标的简单方法是什么? 是

我是安格拉斯的新手。我需要对JSON数据执行搜索。下面是一个JSON结构示例

国家=[
{
“国家名称”:“印度”,
“电台”:[
{
“名称”:“梦想工厂”
}
]
},
{
“国家名称”:“印度尼西亚”,
“电台”:[
{
“名称”:“鼓手工厂”
},  
{
“姓名”:“节拍”
}
]
}
]
假设我键入
Ind
,我需要匹配字符串的国家,并返回
India
Indonesia
同样在其他字段中,键入
工厂
应检索与字符串匹配的电台名称(此处
鼓手工厂
梦想工厂

实现这一目标的简单方法是什么?
是否有任何内置指令可以解决此问题,或者我可以使用过滤器,如果是,请用示例发布…

您可以使用名为“过滤器”的过滤器(是的,有点混乱):

下面是一个演示:

HTML:

如果只需要站点作为结果,则应首先将JSON对象层次结构展平为站点列表。 ​

<div ng-controller="CountryController">
    Filter: <input ng-model="nameFilter" />
    <ul>
        <li ng-repeat="country in countries | filter: nameFilter">
            {{country | json}}
        </li>
    </ul>      
</div>​
var app = angular.module('app', []);

app.controller('CountryController', function($scope){
    $scope.nameFilter = '';
    $scope.countries = [
    {
        "country_name" : "India",
        "stations" : [
            {
                "name": "Dream Factory"
            }
        ]
    },   
    {
        "country_name" : "Indonesia",
        "stations" : [
            {
                "name": "Drummer Factory"
            },  
            {
                "name": "Beats"
            }
        ]
    }];
});

angular.bootstrap(document, ['app']);