2017-02-18 9 views
0

私はこれについて間違った方法をとっていると確信していますが、私が新しい角度の角度を知っているのを見て、私が望むものを達成する方法を理解することはできません。 ng-repeatを使用しているユーザーがいますが、スコープ変数userIdでフィルタリングする方法がわかりません。 User id: <name>はうまく印刷されているので、スコープに問題はありません。このuserIdによって、どのようにng-repeatループソートを行うことができますか?もし私がそれについて間違っているとすれば、あなたは私にそれを正しい方法で手伝ってくれるドキュメンテーションをリンクしてください。ng-repeatフィルタでスコープ変数を使用するにはどうすればよいですか?

HTML:

User id: {{userId}} 
<br> 
User Name: 
<ul> 
    <li ng-repeat="user in users | filter:{{userId}}"> 
     {{user.name}} 
    </li> 
</ul> 

コントローラー:

function PhoneDetailController($scope, $routeParams, Users){ 
    $scope.userId = $routeParams.userId; 
} 
+0

私は '$のscope.users'がどこに宣言されて聞いてもいいですか? – awmleer

+0

私はそれを残して申し訳ありません。それはngResourceから来ています。できます。 – Ducksauce88

答えて

2

あなたは単にそう

<ul> 
    <li ng-repeat="user in users | filter:userId"> 
     {{user.name}} 
    </li> 
</ul> 

角度表現{{}}の基本的には不要のようにNGリピートで$scope変数userIdを使用することができます。

そして、ここでは、ドキュメンテーションです表現の中で。

必要に応じてあなたを助けるためのリンクがいくつかあります。かっこを使用するかどうかを決めるときは

Here is a blog explaining Two Thumb Rulesです。

When exactly to use double curly braces, single curly braces and no braces

+0

ありがとうございます。これはまさに私が理解できなかったものです。完璧に動作します。 – Ducksauce88

+0

あなたの理解を助けるために、いくつかの良いリンクを使って答えを更新しました。 –

+0

ありがとう! – Ducksauce88

0

usersの構造は次のようにある場合:

[ 
    {id:1,name:'xxx'}, 
    {id:2,name:'yyy'} 
] 

あなたはそれをソートする 'ORDERBY' フィルタを使用することができますし、フィルタするにはfilterフィルタを使用してください:

<ul> 
    <li ng-repeat="user in users | filter:{id:userId} | orderBy: 'id' "> 
     {{user.name}} 
    </li> 
</ul> 

iduserの属性がng-repeatである。それはすでにあるので、filterorderBy

関連する問題