AngularJS 如何使用服务
示例
angular.module("app") //像Angular的内置服务一样注入自定义服务 .controller("step1Controller", ['counterService', '$scope', function(counterService, $scope) { counterService.number++; //绑定到对象(通过引用)而非值,以实现自动同步 $scope.counter = counterService; })
然后,在使用此控制器的模板中编写:
//可编辑的 <input ng-model="counter.number" />
要么
//只读 <span ng-bind="counter.number"></span>
当然,在真实代码中,您将使用控制器上的方法与服务进行交互,而控制器又将这些方法委托给服务。上面的示例每次在模板中使用控制器时都会简单地增加计数器值。
Angularjs中的服务是单例的:
服务是单例对象,每个应用程序仅实例化一次(由$injector进行实例化),而延迟加载(仅在必要时创建)。
单例是仅允许创建其自身的一个实例的类,并提供对该实例的简单,便捷的访问。如此处所述