Maison >interface Web >js tutoriel >Implémenter des services personnalisés à l'aide d'AngularJS
Prenons les cookies comme exemple.
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); }; } }]);
signifie que factor et service déclarent des services en même temps, et leurs fonctions sont les mêmes. La différence entre eux est que lorsque nous appelons factor, factor peut déclarer certains attributs privés avant l'objet de retour.
Quand il n'est pas nécessaire de déclarer des propriétés privées internes, leurs fonctions sont les mêmes.
Ce qu'il faut retenir, c'est que factor doit renvoyer un objet directement, tandis que service peut simplement renvoyer directement une fonction.
'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'); //删除}]);
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!