2017-06-05 9 views
0

私はAngularJSを使用しています。私はWebアプリケーションを作成しました。ng-repeatで別のデータを取得する方法は? - AngularJS

特定のリンクから値を取得する方法がわかりません。

は、私はすべてのユーザーを持つ管理者ページを持っていると私はNGリピート

<div ng-repeat="user in allusers"> 

を使用してそれらを取得するしかし、私は、例えば、ユーザレベルのルートを作成していると私はhttp://mylink.com/user_level/[email protected]にそれらを追加した - (その一例ですだから私はユーザーの電子メールを介してユーザーレベルを取得します)

+0

は、URLの最初の部分、一定のですか?つまり、いつも「http://mylink.com/rest/user_level」になるのでしょうか? – CodeWarrior

+0

また、ユーザーオブジェクトにはユーザーの電子メールが含まれていますか? – CodeWarrior

+0

ユーザーリストを取得するときに、ユーザーオブジェクトのプロパティにユーザーレベルのプロパティを含める必要があります。すべてのユーザーに対してユーザーレベルのエンドポイントを呼び出すのは効率的ではないようです。 – Billy

答えて

0

推奨アプローチは、ユーザーオブジェクトを取得し、ユーザーオブジェクト自体でユーザーのレベルを送信するサービスを持つことです。

しかし、これはオプションではなく、ユーザーのレベルを取得するために別々のサービスコールを行う必要がある場合、これはどのように行うのかです。

function getUserLevels(users) { 
    for(var i=0; i<users.length; i++) { 
     getUserLevelForUser(users[i]); 
    } 
    } 

    function getUserLevelForUser(user) { 
    $http.get(BASE_URL + '/' + user.email) 
     .then(function (response) { 
      user.userLevel = response.data.userLevel; 
     }); 
    } 

    getUserLevels($scope.users); 

APIにアクセスできないため、私はOpen Movie Database APIを呼び出すプランナーアプリケーションを作成しました。このデモでは、ユーザーのレベルではなく、映画の監督を引き出す予定です。また、URLでユーザーの電子メールを使用する代わりに、映画名を使用します。

working plunker here

関連する問題