【问题标题】:Angularjs accessing methods in another factoryAngularjs访问另一个工厂中的方法
【发布时间】:2013-03-30 03:33:33
【问题描述】:

我有一个 AngularJS 模型,我在其中创建了一个名为 myService 的模块来保存一些我在整个应用程序中使用的常用代码。我的 Common factory 是我添加所有方法的地方,现在我想将其拆分并给它们起个好名字。

我的很多方法都相互调用,那么如何调用另一个工厂中的方法呢?

angular.module('myService', ['ngResource'])
  .factory('test2', ($window) ->
    return {
      foobar: () ->
        Common.test()
    }
  )  
  .factory('Common', ($window) ->
    return {
      test: () ->
        alert 'testing'
    }
  )

【问题讨论】:

    标签: javascript angularjs coffeescript


    【解决方案1】:

    你只需要注入它:

    .factory('test2', function (Common) {
      return {
        foobar: function () {
          Common.test();
        }
      };
    })
    

    【讨论】:

      【解决方案2】:

      这就是我所做的并且工作正常。从 Session 调用 SessionPresenters。您需要将 SessionPresenters 作为参数传递给工厂实现函数。

      angular.module('tryme3App')
          .factory('Session', function ($resource, DateUtils, SessionPresenters) {
              return $resource('api/sessions/:id', {}, {
                  'query': { method: 'GET', isArray: true},
                  'get': {
                      method: 'GET',
                      transformResponse: function (data) {
                          data = angular.fromJson(data);
      
                          var result = SessionPresenters.get({id: data.id})
                          data.presenters = result; 
                          return data;
                      }
                  },
                  'update': { method:'PUT' }
              });
          }).factory('SessionPresenters', function ($resource, DateUtils) {
              return $resource('api/session.Presenters/:id', {}, {
                  'query': { method: 'GET', isArray: true},
                  'get': {
                      method: 'GET', isArray: true
                  },
                  'update': { method:'PUT' }
              });
          });
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-11-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多