Comment utiliser le filtre et orderBy avec ng-repeat, à l'aide d'un objet (au lieu de tableau)?
J'ai des données "aimer" ceci:
$scope.persons = {
"ID123": {
name_de: "Andre",
name_en: "Anrew",
age: 30,
description: "He is the father of xyz and . . .",
. . .
},
"IDabc": {
name_de: "Markus",
name_en: "Mark",
age: 20,
. . .
},
"IDxyz": {
name_de: "Isaak",
name_en: "Isaac",
age: 23,
. . .
}
. . .
}
et j'ai une entrée/ng-repeat:
<input ng-model="query" placeholder="Suche . . .">
<ul>
<li ng-repeat="p in persons | orderBy:'name_de' | filter:query"> Some output here . . . </li>
</ul>
Maintenant la question est comment puis-je commander et de les filtrer?
Il travaillé avec une variété de personnes, mais j'ai besoin de la "ID" si l'objet est nécessaire!?
Je suis à la recherche également d'un moyen de filtrer l'objet par la N-propriétés
e.g pour name_de ET name_en (pour ne montrer ID123 si je recherche pour André et aussi si je recherche pour Andrew), MAIS ignorant le texte de la "description" (j'ai d'abord eu le problème est que le filtre vérifie TOUTES les propriétés)
Les deux
Essayez: filter: { name_de: requête, name_en: requête }
cela ne fonctionne pas Rob 🙁 ty de toute façon Si je le convertir en un tableau comment puis-je adresse id? e.g-je relier à d'autres personnes (le père, la mère et d'autres relations avec des personnes.idxyz(.xyz)
Alors s'il vous plaît inclure plus de code de ce que vous avez essayé par exemple, la manière dont les relations sont stockés et de la requête.
jusqu'à maintenant, les données n'est pas complète et je viens de commence. Une chose que je veux utiliser, par exemple, de vérifier si le père a aussi un père de propriété = puis c'est le grand-père (je n'ai pas ajouter grand-père, comme un bien par moi-même) mon ID est composé des 4 premières Lettres+ longueur du nom + 0/1 (mâle/femelle) + A/B/C . .. si l'ID ne serait pas unique (ce qui est utile si je veux utiliser des données à partir de 1 personne, parce que je sais que le nom et rien d'autre (seulement dans de rares cas, je dois vérifier celui que je veux A/B/C... ) je pourrais le faire avec des personnes[index], bien sûr, mais ce n'est pas très "clair"
orderBy
et filter
filtres ne supportent pas la source de l'Objet hors de la boîte. Vous devez écrire un filtre personnalisé ou le convertir en un Tableau (stocker chaque ID d'un autre bien), avant de passer à des filtres.Essayez: filter: { name_de: requête, name_en: requête }
cela ne fonctionne pas Rob 🙁 ty de toute façon Si je le convertir en un tableau comment puis-je adresse id? e.g-je relier à d'autres personnes (le père, la mère et d'autres relations avec des personnes.idxyz(.xyz)
Alors s'il vous plaît inclure plus de code de ce que vous avez essayé par exemple, la manière dont les relations sont stockés et de la requête.
jusqu'à maintenant, les données n'est pas complète et je viens de commence. Une chose que je veux utiliser, par exemple, de vérifier si le père a aussi un père de propriété = puis c'est le grand-père (je n'ai pas ajouter grand-père, comme un bien par moi-même) mon ID est composé des 4 premières Lettres+ longueur du nom + 0/1 (mâle/femelle) + A/B/C . .. si l'ID ne serait pas unique (ce qui est utile si je veux utiliser des données à partir de 1 personne, parce que je sais que le nom et rien d'autre (seulement dans de rares cas, je dois vérifier celui que je veux A/B/C... ) je pourrais le faire avec des personnes[index], bien sûr, mais ce n'est pas très "clair"
OriginalL'auteur easyX | 2014-08-09
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser toArrayfilter module plus d'informations s'il vous plaît voir ici :http://ngmodules.org/modules/angular-toArrayFilter
et des exemples de démonstration pour votre solution http://jsbin.com/nimoxa/1/edit
JS:
html:
c'est à dire: si vous souhaitez rechercher uniquement name_de utilisation :
filter:{'name_de':query}
et si je veux rechercher des name_de ET name_en? (ou toute autre combinaison)?
veuillez voir ici stackoverflow.com/questions/13216115/...
OriginalL'auteur sylwester
Pour répondre à votre question sur
pouvez-vous inclure l'ID d'un bien immobilier de vos objets de la personne de sorte qu'ils ressemblent à ça?
De recherche par name_de ET name_en (ou toutes les autres propriétés de la matière), vous pouvez essayez d'écrire votre filtre personnalisé. Il est assez facile.
Votre HTML ressemblera à ceci:
ok, dans le cas, ce que vous avez fait avec le tableau associatif est correct.
OriginalL'auteur ivan.sim