如何使用服务

    angular.module("app")
        
        // Custom services are injected just like Angular's built-in services
        .controller("step1Controller", ['counterService', '$scope', function(counterService, $scope) {
            counterService.number++;
            // bind to object (by reference), not to value, for automatic sync
            $scope.counter = counterService;
        })

在使用此控制器的模板中,你将编写:

// editable
<input ng-model="counter.number" />

要么

// read-only
<span ng-bind="counter.number"></span>

当然,在实际代码中,你将使用控制器上的方法与服务进行交互,而控制器又委托给服务。上述示例只是在每次在模板中使用控制器时递增计数器值。

Angularjs 的服务是单例:

服务是单个对象,每个应用程序仅实例化一次(通过$ injector)并延迟加载(仅在必要时创建)。

单例是一个只允许创建自身的一个实例的类 - 并且可以简单,轻松地访问所述实例。如上所述