2016-08-01 1 views
0

私はAngular.jsを学んでいます、と私はNG-モデルを理解し、私たちは、コントローラの$scopeオブジェクトに(私たちは、任意の入力から取得すること)の値を付けます。しかし、最近、私はそれのフィルターを通してつもりだと私はangularjsの公式サイトfilters in angular jsに与えられた例を理解していない、私は理解していないことは、我々がNGにパラメータを追加するにはどうすればよい上記のコードでangularjsのng-modelでは、パラメータの追加方法は?

<label>Any: <input ng-model="search.$"></label><br> 
<label>Name only <input ng-model="search.name"></label><br> 
<label>Phone only <input ng-model="search.phone"></label><br> 
<label>Equality <input type="checkbox" ng-model="strict"></label><br> 
<table id="searchObjResults"> 
    <tr> 
     <th>Name</th> 
     <th>Phone</th> 
    </tr> 
    <tr ng-repeat="friendObj in friends | filter:search:strict"> 
     <td>{{friendObj.name}}</td> 
     <td>{{friendObj.phone}}</td> 

ですどのようにアクセスされていますか? ng-initは "friends"を持っているので、どのようにtheses 2がフィルタや検索を実行するために関連していますか?
search.nameまたはsearch.phoneを提供する方法を理解しようとしています。friends.nameとfriends.phoneにそれぞれアクセスできます。

+0

あなたはアクセスavariableが –

+0

'NG-model'は関数ではありません、それはパラメータはありませんnginit使用して宣言したいです。それは 'angle'オブジェクトのメソッドであるため、' filter'にパラメータを渡すことができます。 –

+0

私はsearch.nameまたはsearch.phoneをどのように提供するのか理解しようとしています。friends.nameとfriends.phoneにそれぞれアクセスできます。 – YepMe

答えて

0

friendsはオブジェクト配列です。 friendsの各サブオブジェクトは、nameおよびphoneのプロパティを持ちます。このオブジェクト配列はあなたが言ったようにng-initによって埋められます。

また、あなたはあなたの範囲にsearchオブジェクト(モデル)を持っています。それはnamephoneのプロパティも持っています。

friendObj in friends | filter:search:strictは、フィルタディレクティブのための標準的な使用法です。だということだ; 「検索」を使用して「友人」をフィルタリングします。もしfriendssearchオブジェクトAngularJS基本的に反復処理を用いてfriends(対象配列)をフィルタリングし(厳密モード)friendObj.name == search.namefriendObj.phone == search.phone両方にtrueを返すレコードを収集

。 last(strict)パラメータをfalseに設定すると、部分文字列をチェックします。

+0

で提供されていたので、あなたは私があれば親切にすみません、オブジェクト配列と検索対象のパラメータは、正確な名前(名前と電話を)持っている時はいつでも、それは比較を行います意味間違って、私はそれをよく理解しようとしています。たとえば、search.ageのようないくつかの異なるパラメータを指定した場合、何も表示されないとします。 – YepMe

+0

はい、そうです。検索モデルに追加のプロパティがある場合、フィルタ結果は空になります。 _(コンパレータを変更しない場合)_ 5月の2016年5月から5月の2017年のフィルタレコードのような他のフィルタメカニズムを適用したい場合は、**コンパレータ**を使うことができます"。 –

+0

構文の "anyPropertyKey"ですか? – YepMe

関連する問題