如何使用服务
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)并延迟加载(仅在必要时创建)。
单例是一个只允许创建自身的一个实例的类 - 并且可以简单,轻松地访问所述实例。如上所述