我的AngularJS工厂有多个功能?

前端之家收集整理的这篇文章主要介绍了我的AngularJS工厂有多个功能?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在从官方AngularJS文档跟随 Tutorial,我想知道我是否可以向Phone工厂添加另一个功能,以便我可以更好地组织代码。他们已经声明了一个“查询功能,但是如果我想添加一个引用不同URL的query2函数,那么说如何使用phone2 /: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}
    });
  }]);

我已经尝试了一些事情,而不是他们似乎在工作:

这个answer似乎在正确的轨道上,但是每个工厂功能的语法与上述工厂不匹配。

沿着以下方向的东西:

phonecatServices.factory('Phone',function($resource){
       return {
        query: ...
        query2: ...
       }
      }]);
一个这样的例子是:
Link for Demo
angular.module('services',[]).factory('factoryName',["$filter",function($filter) {
    var method1Logic = function(args) {
      //code
    };
    var method2Logic = function(args) {
     //code
    };
    return {
      method1: method1Logic,method2: method1Logic
    };
  }
]).controller('MainController',["$scope","$rootScope","$filter","factoryName",function ($scope,$rootScope,$filter,factoryName) {
     $scope.testMethod1 = function(arg){
       $scope.val1 = factoryName.method1(arg);
     };

     $scope.testMethod2 = function(arg){
       $scope.val2 = factoryName.method2(arg);
     };
}]);

甚至有更好的版本这个意见版本:References

function AnotherService () {

  var AnotherService = {};

  AnotherService.someValue = '';

  AnotherService.someMethod = function () {

  };

  return AnotherService;
}
angular
  .module('app')
  .factory('AnotherService',AnotherService);

猜你在找的Angularjs相关文章