2014-05-03 2 views
0

Je crée un exemple d'application here. mon application a 2 tableau d'objet dans la portée avec le nom de data et data2. J'ai aussi 2 directive:Rechercher et filtrer sur Plus d'un modèle dans angularjs

app.directive('root',function(){ 
return { 
scope:{ 
    items:'=' 
}, 
restrict:'AE', 
template:'<ul><li>Item<ul><li ng-repeat="item in items"><show-item mo="item"></show-item>l</li></ul></li></ul>' 
    }; 
}); 
app.directive('showItem',function(){ 
return { 
restrict:'EA', 
scope:{ 
    mo:'=' 
}, 
controller:function(){ 

}, 
template:'<span>{{mo.name}}</span>' 
}; 
}); 

J'ai une recherche d'entrée pour la recherche par nom dans les modèles. mais comment puis-je rechercher sur ces deux modèles par une même requête dans une entrée

Répondre

1

Fixer un modèle à l'entrée de votre recherche:

<input type="search" ng-model="search" /> 

Ajouter deux voies de liaison pour ce modèle sur la portée de vos directives et l'utiliser pour filtrer vos articles ng-repeat:

<root items="data" search="search"></root> 
<root items="data2" search="search"></root> 

et

app.directive('root',function(){ 
    return { 
    scope:{ 
     items:'=', 
     search:'=' 
    }, 
    restrict:'AE', 
    template:'<ul><li>Item<ul><li ng-repeat="item in items | filter:search"><show-item mo="item"></show-item>l</li></ul></li></ul>' 
    }; 
}); 

Updated JS Bin

Questions connexes