18

AngularJS の公式ドキュメントのチュートリアルに従っています。別の関数を Phone ファクトリに追加して、コードをより適切に整理できるかどうかを知りたいです。彼らは「クエリ」関数を宣言しましたが、別の URL を参照する query2 関数を追加したい場合はどうすればよいでしょうか...たとえば、phones2/:phoneName.json としますか?

工場宣言:

var phonecatServices = angular.module('phonecatServices', ['ngResource']);

phonecatServices.factory('Phone', ['$resource',
  function($resource){
    return $resource('phones/:phoneId.json', {}, {
      query: {method:'GET', params:{phoneId:'phones'}, isArray:true}
    });
  }]);

私は多くのことを試しましたが、どれも機能していないようです:s

この答えは正しい軌道に乗っているようですが、各ファクトリ関数の構文は上記のファクトリと完全に一致していません。

次のようなもの:

phonecatServices.factory('Phone', ['$resource',
      function($resource){
       return {
        query: ...
        query2: ...
       }
      }]);
4

3 に答える 3

14

これはサービス コードです。

myServices.factory('Auth', ['$resource',
  function($resource){
    return {
      Login: $resource(serviceURL + 'login', {}, { go: { method:'POST', isArray: false }}),
      Logout: $resource(serviceURL + 'logout', {}, { go: { method:'POST', isArray: false }}),
      Register: $resource(serviceURL + 'register', {}, { go: { method:'POST', isArray: false }}),
    };
  }
]);

そして、コントローラーから go() 関数呼び出しを追加して機能させるだけです。

Auth.Login.go({ username: $scope.username, password: $scope.password },

わかりやすくするために、メソッドの後に go 関数の名前を付けて、代わりに「post()」と呼んでもよかったと思います...

于 2014-02-21T03:08:49.100 に答える