2016-12-23 2 views
3

Ich versuche, einen Filter über ein Feld anzuwenden, die eine i18N Übersetzung haben, aber irgendwie funktioniert es nicht wie erwartet. Hier ist ein Detail: Html:angularjs Filter funktioniert nicht auf i18n Text

<div> 
     <input class="form-control filter" type="text" data-ng-model="activityFilter"> 
    </div> 
<tr data-ng-repeat="feature in features | orderBy: orderColumns | filter: activityFilter"> 

      <td>{{feature.classifier| i18n }}</td> </tr> 

i18N Übersetzung:

Für schwedische Datei:

"CULTURE":"Kultur", 

Für Englisch:

"CULTURE":"Culture" 

Jetzt Übersetzung funktioniert perfekt, wenn ich ändern eine Übersetzung Fahnen. Aber wenn die Übersetzung schwedisch ist, und wenn ich versuche, wie "die Kultur" zu suchen, filtert es die Aufzeichnungen, aber auf der Seite zeigt es die Aufzeichnungen "Kultur". Genau wie wenn ich versuche "Kultur" zu suchen, gibt es mir ein leeres Ergebnis. Hier sind einige Screenshots. Dies ist ein Istsätze: [! [Image description hier] [1] eingeben] [1]

Dies ist, wenn ich mit Kultur auf gleiche Übersetzung suchen: [[treten Sie hier image description] [2] ] [2]

Dies ist, was Filter geben Sie mir auf der gleichen Seite zur Folge haben, wenn ich mit Kulter suchen versuchen: [[image Beschreibung hier eingeben] [3]] [3]

Kann mir jemand erklären, warum das passiert und wie man das löst.

------------- Update Screenshot ------

[4]

+0

try Filter wie diese Filter: {KULTUR: activityFilter} –

Antwort

0

Der Filter läuft auf dem "Feature" -Objekt. Siehe https://docs.angularjs.org/api/ng/filter/filter für eine detailliertere Beschreibung. Grundsätzlich wird der Filter rekursiv für alle Eigenschaften des Objekts ausgeführt.

jedoch das Objekt selbst hält nur die Übersetzung Schlüssel „Kultur“, so das ist, was gegen gefiltert wird.

Sie können entweder in einem Komparator an den Filter übergeben (siehe die oben verlinkten Dokumente) und die Übersetzung im Komparator durchführen.

Oder Sie verwenden die Standard-Filter mit dem Namen „Filter“, aber einen benutzerdefinierten Filter schreiben, siehe zum Beispiel https://scotch.io/tutorials/building-custom-angularjs-filters

0

[! [Image description hier] [4] eingeben] Nach zu gegebenen Informationen, Ihre Zuordnung ist:

"CULTURE":"Kultur" 

Aber das Wort gesucht: Kulture im Screenshot. Kann es der Grund sein?

+0

Nein, es ist kein Grund. Ich habe gerade einen Screenshot aktualisiert –

Verwandte Themen