Factory

Factory 可在运行阶段使用。

Factory 配方使用具有零个或多个参数的函数构造新服务(这些是对其他服务的依赖性)。此函数的返回值是此配方创建的服务实例。

Factory 可以创建任何类型的服务,无论是原始,对象文字,函数,还是自定义类型的实例。

angular.module('app',[])
  .factory('endpointFactory', function() {
    return {
      get: function() {
        return 'http://some.rest.endpoint';
      }
    };
  })
  .controller('MainCtrl', function(endpointFactory) {
    var vm = this;
    vm.endpoint = endpointFactory.get();
  });
<body ng-controller="MainCtrl as vm">
  <div>endpoint = {{::vm.endpoint }}</div>
</body>

endpoint = http://some.rest.endpoint