AngularJSを使用してJSONデータを取得し、返されるオブジェクトにメソッドを追加します

ジョルジオポルバラ-Gpx

Angularを使用してサーバーからJSONデータを取得する必要があります。ユーザーデータを考えてみましょう。私はそのようなサービスを作成しました:

app.service('User', function($http) {
  retrun $http({method: 'GET', url:'/current_user'});
});

そして私のコントローラーでは:

app.controller('SomeCtrl', function($scope, User) {
  User.success(function(data) {
    $scope.user = data;
  });
});

これは問題なく機能しますが、ユーザーにいくつかのメソッドを追加したい場合はどうすればよいですか?たとえば、ビューで私がやりたいと思います{{user.isAdmin()}}それは正しいアプローチですか?これらのメソッドはどこに追加できますか?

アダム

サービスが常にこのメソッドでオブジェクトを返すようにしたい場合は、次のようにします。

app.service('User', function($http) {
  return $http({method: 'GET', url:'/current_user'}).
         then(function(response) {
           response.data.isAdmin = function() { return true; };
           return response.data;
         });
});

これで、このpromiseを参照し、.then()を使用する将来のコードは、新しいオブジェクトを取得します。詳細については、promiseのドキュメントをご覧ください。

http://docs.angularjs.org/api/ng。$ Q

httpPromiseで「then」を使用すると、通常のPromiseに変換されることに注意してください。便利なメソッド「success」と「error」はもうありません。

データオブジェクトを受け取り、適切なプロパティを割り当てる(またはインスタンスを拡張する)コンストラクター関数を使用して、返すオブジェクトのクラスを作成することをお勧めします。このようにして、次のようなことを簡単に行うことができます

return new User(val);

そして、あなたはあなたが望むすべての方法を手に入れるでしょう(プロトタイプなどで)。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

共有メソッド/小道具を使用してVueコンポーネントに渡されるデータオブジェクトを拡張します

分類Dev

そのメソッドの呼び出しに使用されるオブジェクトのデータフィールドをいじらずにデータフィールドを変更するメソッドを使用して、新しいオブジェクトを返す方法

分類Dev

値を取得するメソッドは、破棄されたオブジェクトを返します

分類Dev

Pythonを使用してリストにオブジェクトを追加すると、オブジェクト内のデータではなく、オブジェクトのメモリアドレスがスローされます。

分類Dev

Jacksonを使用してオーバーロードされたメソッドでJSONをオブジェクトに逆シリアル化する

分類Dev

Java-Tがメソッドに渡される特定のタイプTのすべてのオブジェクトのセットを返します

分類Dev

Jsonとして返されるYii2オブジェクトデータを取得できません

分類Dev

Addメソッドはnullの空のオブジェクトをデータベースに返します

分類Dev

foreachを使用せずに、List <string>オブジェクト内のすべてのGUIDを取得し、データベースメソッドに送信する方法

分類Dev

オブジェクトのメソッドが実装されているクラスを取得します

分類Dev

返されたJSONデータをオブジェクトとしてデコードする際の問題

分類Dev

AsyncTaskとPOSTメソッドを使用して変数をサーバーに送信し、JSONオブジェクトを取得します

分類Dev

forループを使用してオブジェクト配列にメソッドを追加する理由

分類Dev

LaravelはデコードされたJSONデータをPHPオブジェクトとして使用します

分類Dev

カスタムメソッドを使用してフィールドをネストされたオブジェクトにマッピングする

分類Dev

Gsonを使用してネストされたJSONオブジェクトからデータを取得する方法

分類Dev

EntityFrameworkを使用して非常にネストされた子オブジェクトにデータを追加する

分類Dev

setStateメソッドを使用してreactでネストされたオブジェクト形式で状態データを更新する

分類Dev

メソッドFindSystemTimeZoneByIdを使用してタイムゾーンを取得すると、適切なタイムゾーンオブジェクトが返されません

分類Dev

Spring BootRESTでPOSTメソッドを使用してオブジェクトの特定のデータを更新する

分類Dev

getメソッドのWebRequestオブジェクトを使用してデータを送信する

分類Dev

touchesBeganメソッドを使用してノードからオブジェクトへの参照を取得します

分類Dev

新しいメソッドを使用して作成されたオブジェクトをモックする方法

分類Dev

POSTメソッドを使用してJSONオブジェクトを送信する

分類Dev

json POSTデータをオブジェクトとしてWeb APIメソッドに渡す方法は?

分類Dev

Rho :: AsyncHttpのpostメソッドでjsonオブジェクトとしてデータを送信する方法

分類Dev

POSTメソッドを使用してJSONオブジェクトを返すことができません

分類Dev

Javaこれは、基本オブジェクトではなく、メソッドによって消費されたオブジェクトを返します

分類Dev

Mapを生成するメソッドを記述し、値を含むオブジェクトエントリを探し、このオブジェクトを新しいセットに追加して、そのセットを返します。

Related 関連記事

  1. 1

    共有メソッド/小道具を使用してVueコンポーネントに渡されるデータオブジェクトを拡張します

  2. 2

    そのメソッドの呼び出しに使用されるオブジェクトのデータフィールドをいじらずにデータフィールドを変更するメソッドを使用して、新しいオブジェクトを返す方法

  3. 3

    値を取得するメソッドは、破棄されたオブジェクトを返します

  4. 4

    Pythonを使用してリストにオブジェクトを追加すると、オブジェクト内のデータではなく、オブジェクトのメモリアドレスがスローされます。

  5. 5

    Jacksonを使用してオーバーロードされたメソッドでJSONをオブジェクトに逆シリアル化する

  6. 6

    Java-Tがメソッドに渡される特定のタイプTのすべてのオブジェクトのセットを返します

  7. 7

    Jsonとして返されるYii2オブジェクトデータを取得できません

  8. 8

    Addメソッドはnullの空のオブジェクトをデータベースに返します

  9. 9

    foreachを使用せずに、List <string>オブジェクト内のすべてのGUIDを取得し、データベースメソッドに送信する方法

  10. 10

    オブジェクトのメソッドが実装されているクラスを取得します

  11. 11

    返されたJSONデータをオブジェクトとしてデコードする際の問題

  12. 12

    AsyncTaskとPOSTメソッドを使用して変数をサーバーに送信し、JSONオブジェクトを取得します

  13. 13

    forループを使用してオブジェクト配列にメソッドを追加する理由

  14. 14

    LaravelはデコードされたJSONデータをPHPオブジェクトとして使用します

  15. 15

    カスタムメソッドを使用してフィールドをネストされたオブジェクトにマッピングする

  16. 16

    Gsonを使用してネストされたJSONオブジェクトからデータを取得する方法

  17. 17

    EntityFrameworkを使用して非常にネストされた子オブジェクトにデータを追加する

  18. 18

    setStateメソッドを使用してreactでネストされたオブジェクト形式で状態データを更新する

  19. 19

    メソッドFindSystemTimeZoneByIdを使用してタイムゾーンを取得すると、適切なタイムゾーンオブジェクトが返されません

  20. 20

    Spring BootRESTでPOSTメソッドを使用してオブジェクトの特定のデータを更新する

  21. 21

    getメソッドのWebRequestオブジェクトを使用してデータを送信する

  22. 22

    touchesBeganメソッドを使用してノードからオブジェクトへの参照を取得します

  23. 23

    新しいメソッドを使用して作成されたオブジェクトをモックする方法

  24. 24

    POSTメソッドを使用してJSONオブジェクトを送信する

  25. 25

    json POSTデータをオブジェクトとしてWeb APIメソッドに渡す方法は?

  26. 26

    Rho :: AsyncHttpのpostメソッドでjsonオブジェクトとしてデータを送信する方法

  27. 27

    POSTメソッドを使用してJSONオブジェクトを返すことができません

  28. 28

    Javaこれは、基本オブジェクトではなく、メソッドによって消費されたオブジェクトを返します

  29. 29

    Mapを生成するメソッドを記述し、値を含むオブジェクトエントリを探し、このオブジェクトを新しいセットに追加して、そのセットを返します。

ホットタグ

アーカイブ