Ich arbeite durch das AngularJS-Tutorial und verstehe die Grundlagen von
Die Out-of-the-Box-Implementierung scheint jedoch darauf beschränkt zu sein, die Liste der Elemente nur nach dem genauen Wort oder Ausdruck zu filtern, in dem sie eingegeben wurde.
Beispiel: Wenn die Abfrage "table cloth" ist, kann die Ergebnisliste ein Ergebnis mit dieser Phrase "Decorative table cloth" enthalten, aber nicht "Decorative cloth for table", da der Filter nur eine kontinuierliche Suche ist Zeichenfolge.
Ich weiß, dass es die Möglichkeit gibt, benutzerdefinierte Filter hinzuzufügen, aber auf den ersten Blick scheint es, dass es sich hauptsächlich um Transformationen handelt.
Gibt es eine Möglichkeit, einen benutzerdefinierten Filter hinzuzufügen, so dass sowohl "Dekorative Tischdecke" als auch "Dekorative Tischdecke" in der gefilterten Ergebnismenge angezeigt werden?
Einige Verbesserungen am obigen benutzerdefinierten Filter:
Anstatt eine Schleife innerhalb einer Schleife, counts und indexOf zu verwenden, verwendet diese reguläre Ausdrücke , um ein logisches AND und auch ein logisches OR
Sehen Sie sich die gegabelte Fiddle mit den beiden Filterarten und Ergebnissen an:
%Vor% Hier ist meine Version. Es verwendet JonoWilkos Methode, die eingebaute filterFilter
in Kombination mit dem Surfbud-AND / OR-Flag zu verwenden (standardmäßig auf "AND"
).
JavaScript
%Vor%CoffeeScript
%Vor%'AND' Verwendung (Standard)
%Vor%'ODER' Verwendung
%Vor%Sie können eine Mehrfachwortsuche für ein Objekt wie folgt durchführen:
%Vor%Tags und Links angularjs