0

私は現在、Angular $resource を使用して API を作成しています。これらの結果をコントローラーではなくサービスに保持したいと考えています。これは、コントローラーを呼び出すたびに結果が再度呼び出され、行われた変更が削除されるためです。 .

次のようないくつかのSO記事で回答を試しました。

AngularJS:Shared Service(with $resource) を使用してコントローラー間でデータを共有しますが、コールバック関数を定義する方法は?

$resource を使用した Angular サービス/ファクトリ

しかし、サービスに保存された結果が必要であるが、コントローラーからアクセスできる必要があるため、どちらも機能しませんでした。

どんな助けでも大歓迎です。

4

2 に答える 2

0

常に約束を使用してください!

angular.module('foo',[])
  .service('FooService', ['$resource', function($resource){
    this.getUsers = function () {
      return $resource('/users', .get().$promise;
    };
  })
  .controller('FooController', ['$scope','FooService', function($scope, FooService){
    FooService.getUsers()
      .then(function (users) {
        $scope.users = users;
      });
  });

$resource('/users')さらに、をUserResourceファクトリにリファクタリングしUserResourceて、サービスに注入することもできます。

于 2016-02-11T18:31:53.417 に答える