쿠키를 예로 들어보겠습니다.
bower --save angular-cookies
'use strict'angular.module('app',['ui.router','ngCookies']);
'use strict'; angular.module('app').service('cache', ['$cookies', function($cookies){ this.put = function(key, value){ $cookies.put(key, value); }; this.get = function(key) { return $cookies.get(key); }; this.remove = function(key) { $cookies.remove(key); }; }]);
angular.module('app').factor('cache', ['$cookies', function($cookies){ //也就是说factor和service同时声明服务,作用是一样的,它们的区别在于我们调用factor的时候,factor可以在return对象之前可以声明一些私有的属性。如: var obj = {};//相当于一个私有属性,外部不可访问,而直接声明service是没有这个功能的。 //注意:factor和service不同,我们不能再this这个当前对象上面添加属性了,而是返回一个对象 //这个对象所带来的属性就是我们外面引用的factor可以引用的属性 return { put : function(key, value){ $cookies.put(key, value); }; get : function(key) { return $cookies.get(key); }; remove : function(key) { $cookies.remove(key); }; } }]);
즉, 팩터와 서비스는 동시에 서비스를 선언합니다. 그것들은 동일합니다. 차이점은 인자를 호출할 때 인자가 객체를 반환하기 전에 일부 개인 속성을 선언할 수 있다는 것입니다.
내부 사유 속성을 선언할 필요가 없는 경우 해당 기능은 동일합니다.
기억해야 할 점은 요소는 객체를 직접 반환해야 하지만 서비스는 함수를 직접 반환할 수 있다는 것입니다.
'use strict'; angular.module('app').controller('positionCtrl',['$q','$http','$state','$scope','cache',function ($q,$http,$state,$scope,cache) { cache.put('to','day');//存入这个值 cache.remove('to'); //删除}]);와 같이 컨트롤러에서 이 서비스 캐시를 선언합니다.
위 내용은 AngularJS를 사용하여 맞춤형 서비스 구현의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!