如何使用服務
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)並延遲載入(僅在必要時建立)。
單例是一個只允許建立自身的一個例項的類 - 並且可以簡單,輕鬆地訪問所述例項。如上所述