2016-05-18 3 views
1

私は角度フィルタはfilter: valueを持っていたが、それはここでは例えば、文字列全体を検索するだろうが、私はそれらだけで文字「e」を持っている名前を表示したいデータAngularJSの特定のプロパティにフィルタを適用するにはどうすればよいですか?

$scope.names = [ 
    {name:'Jani',country:'Norway'}, 
    {name:'Carl',country:'Sweden'}, 
    {name:'Margareth',country:'England'}, 
    {name:'Hege',country:'Norway'}, 
    {name:'Joe',country:'Denmark'}, 
    {name:'Gustav',country:'Sweden'}, 
    {name:'Birgit',country:'Denmark'}, 
    {name:'Mary',country:'England'}, 
    {name:'Kai',country:'Norway'} 
    ]; 

です。しかし、それはまた、名前の中で「e」と国を一致させている。

フィルタの特定のプロパティにのみ一致する方法はありますか?

答えて

3

フィルタリングするJSONオブジェクトを提供することによって、単一のプロパティでfilterを実行できます。

マークアップ

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

<ul> 
    <li ng-repeat="item in names | filter: {name: search }">{{item.name}}<li> 
</ul> 
+0

は、フィルタは、たったの$スコープ変数では動作しない、または我々としてもそれらにエイリアスを使用することができますか?私はフィルターを使いましたが、 '$ scope'を使わなければなりませんでした。 – cst1992

+0

@ cst1992あなたの質問は正確にはわかりませんが、フィルタはコレクションで動作します(HTML上のフィルタを使用している場合、 '$ scope' /' controller context'変数で動作します)。それが '$ filter( 'filter')(collection、{prop:myVariable})のように' $ scope'で利用できなくても、 –

関連する問題