Maison >interface Web >js tutoriel >Implémenter des services personnalisés à l'aide d'AngularJS

Implémenter des services personnalisés à l'aide d'AngularJS

一个新手
一个新手original
2017-09-23 09:54:311713parcourir

Prenons les cookies comme exemple.

Étape 1 : Ouvrez d'abord la console et utilisez bower pour installer les cookies angulaires

bower --save angular-cookies

Étape 2 : Créez un fichier cache.js dans le répertoire du service.

Étape 3 : Introduisez le module angulaire-cookies dans index.html.

Étape 4 : Ajoutez la dépendance ngCookies dans app.js.

'use strict'angular.module('app',['ui.router','ngCookies']);

Étape 5 : Appeler le service $cookies dans cache.js

Méthode 1 : méthode de service service

'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);
    };
}]);

Méthode 2 : usine de service d'usine La méthode

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.

Étape 6 : Déclarez ce cache de service dans le contrôleur lors de son utilisation, comme

'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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn