在AngularJS中,工厂服务可用于封装可重用的代码,以便在应用程序组件之间共享,诸如控制器、其他工厂或服务等。在本模块中,您将了解工厂服务的作用,学习如何创建它们并将其添加到模块中,以及它们之间的区别。您还将学习内置的AngularJS服务,像是$http,并了解如何利用它进行Ajax调用,从而与后端Node.js RESTful服务进行交互。

创建工厂

什么是工厂?它实质上是一个单例,用于定义可重用的任务和在控制器之间共享代码或状态。工厂会创建并返回自定义对象,通常使用module.factory()函数来创建工厂,这些工厂可以被注入到其他组件中。工厂也可以有依赖,并且可以通过注入实现更加灵活的结构。

例如,创建工厂的过程如下:


function() {

  var customerFactory = function() {

    var customers = [...];

    var factory = {};

    factory.getCustomers = function() {

      return customers;

    };

    return factory;

  };

  return customerFactory;

}