> 웹 프론트엔드 > JS 튜토리얼 > AngularJS를 사용하여 맞춤형 서비스 구현

AngularJS를 사용하여 맞춤형 서비스 구현

一个新手
풀어 주다: 2017-09-23 09:54:31
원래의
1720명이 탐색했습니다.

쿠키를 예로 들어보겠습니다.

1단계: 먼저 콘솔을 열고 Bower를 사용하여 각도 쿠키를 설치합니다.

bower --save angular-cookies
로그인 후 복사

2단계: 서비스 디렉터리에 캐시.js 파일을 만듭니다.

3단계: index.html에 각도 쿠키 모듈을 도입합니다.

4단계: app.js에 ngCookies 종속성을 추가합니다.

'use strict'angular.module('app',['ui.router','ngCookies']);
로그인 후 복사

5단계: 캐시.js에서 $cookies 서비스 호출

방법 1: 서비스 서비스 방법

'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);
    };
}]);
로그인 후 복사

방법 2: facotry 서비스 팩토리 방법

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);
            };        
    }
}]);
로그인 후 복사

즉, 팩터와 서비스는 동시에 서비스를 선언합니다. 그것들은 동일합니다. 차이점은 인자를 호출할 때 인자가 객체를 반환하기 전에 일부 개인 속성을 선언할 수 있다는 것입니다.
내부 사유 속성을 선언할 필요가 없는 경우 해당 기능은 동일합니다.
기억해야 할 점은 요소는 객체를 직접 반환해야 하지만 서비스는 함수를 직접 반환할 수 있다는 것입니다.

6단계: 사용 시

'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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿