AngularJS 使用angular.factory创建服务

示例

首先定义服务(在这种情况下,它使用工厂模式):

.factory('dataService', function() {
    var dataObject = {};
    var service = {
        // 定义吸气方法
        get data() {
            return dataObject;
        },
        // 定义setter方法
        set data(value) {
            dataObject = value || {};
        }
    };
    // return the "service" object to expose the getter/setter
    return service;
})

现在,您可以使用该服务在控制器之间共享数据:

.controller('controllerOne', function(dataService) {
    // 创建对dataService的本地引用
   this.dataService= dataService;
    // 创建一个要存储的对象
    var someObject = {
        name: 'SomeObject',
        value: 1
    };
    // 存储对象
    this.dataService.data = someObject;
})

.controller('controllerTwo', function(dataService) {
    // 创建对dataService的本地引用
   this.dataService= dataService;
    // 这将随着对共享数据对象的任何更改而自动更新
   this.objectFromControllerOne= this.dataService.data;
})