Angularjs - 通用工厂

时间:2014-08-08 17:32:56

标签: angularjs angularjs-factory

我理解您如何从模块中声明工厂。

//Example:
var myModule = angular.module('myApp', []);
myModule.factory('myFactory', function () {  });
//and so on...

我的问题是:

我如何以通用的方式宣布工厂?

我想有一种方法可以将工厂写得足够便携,所以我不必说module.factory。我只是希望能够在项目中删除预先制作的工厂,而无需将其添加到模块中并将其作为控制器中的依赖项引用或者是什么。

有办法做到这一点吗?

2 个答案:

答案 0 :(得分:1)

您应该做的是编写工厂所连接的单独模块,然后将该模块包含在主模块中。然后,您可以在控制器中使用该工厂

答案 1 :(得分:1)

是的,模块系统 IS 是什么使服务变得容易"可放弃"进入一个应用程序首先,您应该知道模块声明是可链接的,因此您可以这样做:

angular
  .module('myApp.ExampleService', []);
  .factory('ExampleService', function () { 
    // Do something...
  });

所以在你的控制器中你可以这样做:

angular
  .module('myApp', ['myApp.ExampleService'])
  .controller('ExampleController', ['ExampleService', function(ExampleService) {
    // Do something...
  });

有关工作示例,请参阅 ng-boilerplate