2016-12-23 9 views
3

i18N変換を持つフィールドにフィルタを適用しようとしていますが、何らかの形でアスペクト化されていません。ここでは詳細です: HTML:i18nテキストでangularjsフィルタが機能しない

<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> 

国際化翻訳:

スウェーデン語ファイルの場合:英語については

"CULTURE":"Kultur", 

"CULTURE":"Culture" 

私が変更されたときに今すぐ翻訳は完璧に動作翻訳フラグ。しかし、翻訳がスウェーデン語で、「文化」のように検索しようとするとレコードがフィルタリングされますが、ページ上でレコード「Kulture」が表示されます。私が "Kulture"を検索しようとするのと同じように、空の結果が出ます。 ここにいくつかのスクリーンショットがあります。 これは実際のレコードです:私は、同じ翻訳に文化を使用して検索するときにこれがある [1]

: [[ここに画像の説明を入力します] [2]![[ここに画像の説明を入力] [1]!] ] [2]

をこれは私がKulterで検索しようとすると、同じページになり私を与える何フィルタです! [[ここに画像の説明を入力します] [3] [3]

誰かが私に説明できますなぜこれが起こっているのか、これを解決する方法。

-------------更新スクリーンショットは------

[![ここで、画像の説明を入力] [4] [4]

+0

トライフィルタ表示されていない:いいえ、それは理由ではないん –

答えて

0

フィルタは "feature"オブジェクトで実行されています。 詳細については、https://docs.angularjs.org/api/ng/filter/filterを参照してください。 基本的に、フィルタはオブジェクトのすべてのプロパティに対して再帰的に実行されます。

しかし、オブジェクト自体には翻訳キー "カルチュア"しか保持されていないので、これがフィルタリングされます。

コンパレータのいずれかをフィルタに渡して(上記のドキュメントを参照)、コンパレータで変換を実行できます。

それとも、「フィルタ」という名前のデフォルトのフィルタを使用しますが、カスタムフィルタを作成し、このフィルタのように例えばhttps://scotch.io/tutorials/building-custom-angularjs-filters

0

よります与えられた情報に、あなたのマッピングは次のとおりです。

"CULTURE":"Kultur" 

しかし、あなたは、単語を検索:Kultureをスクリーンショットに。理由がありますか?

+0

:{activityFilter CULTUREを}。私はちょうどスクリーンショットを更新しました –

関連する問題