>  기사  >  웹 프론트엔드  >  Anglejs 서비스를 사용하는 방법은 무엇입니까? Anglejs 서비스 사용에 대한 구체적인 소개

Anglejs 서비스를 사용하는 방법은 무엇입니까? Anglejs 서비스 사용에 대한 구체적인 소개

寻∝梦
寻∝梦원래의
2018-09-08 11:54:53919검색

이 글에서는 주로 angularjs 서비스에 대한 세부 사항과 Anglejs 내장 서비스의 사용법을 소개합니다. 이 글을 함께 살펴보시죠

서비스의 본질은 데이터와 객체를 제공하는 싱글톤 객체입니다.

두 가지 주요 카테고리:

1내장 서비스

scope

window 내장된 메소드를 사용하세요. in service:

첫 번째 단계는 필요한 서비스를 function(


location) 에 삽입하는 것입니다. 두 번째 단계는 서비스에서 제공하는 메소드 데이터를 호출하는 것입니다. . 사례: 내장된 $interval을 통해 캐러셀 차트 만들기


<!DOCTYPE html><html ng-app="myApp"><head lang="en">
  <meta charset="UTF-8">
  <title></title>
  <script src="js/angular.js"></script></head><body><p ng-controller="myCtrl">
  <img ng-src="img/{{imgList[index]}}" alt=""/>
  <h1>{{count}}</h1></p><script>
  var app = angular.module(&#39;myApp&#39;, [&#39;ng&#39;]);

  app.controller(&#39;myCtrl&#39;, function ($scope,$interval) {
    $scope.count = 0;
    timer = $interval(function () {
      $scope.count++;      if($scope.count > 20)
      {
        $interval.cancel(timer)
      }
    },500)

    $scope.index = 0;
    $scope.imgList = [&#39;1.jpg&#39;,&#39;2.jpg&#39;,&#39;3.jpg&#39;]
    $interval(function () {
      $scope.index++;      if($scope.index > 2)
      {
        $scope.index = 0;
      }
    },1000)

  });</script></body></html>

②맞춤 서비스

서비스의 목적은 비즈니스 로직을 캡슐화하고 코드 재사용률을 높이는 것입니다

서비스 맞춤 방법:

app .factory ('서비스 이름', function(){//일반 메서드 반환 {}})

app.service('서비스 이름', function(){//Constructor})

app.constant(' 서비스 이름', {})//상수 서비스 생성 app.value ('서비스 이름', {}) // app.factory를 통해 변수 서비스 생성

('서비스 이름', function() { // 일반 메서드 return {}}) 서비스 생성

<!DOCTYPE html><html ng-app="myApp"><head lang="en">
  <meta charset="UTF-8">
  <title></title>
  <script src="js/angular.js"></script></head><body><p ng-controller="myCtrl">
  <button ng-click="handleClick()">clickMe</button></p><script>
  var app = angular.module(&#39;myApp&#39;, [&#39;ng&#39;]);  //创建自定义服务
  app.factory(&#39;$output&#39;, function () {
    return {
      print: function () {
        console.log(&#39;func in $output is called&#39;);
      }
    }
  })
  app.controller(&#39;myCtrl&#39;, function ($scope,$output) {
    $scope.handleClick = function () {
      //调用自定义服务所提供的方法
      $output.print();
    }
  });</script></body></html>

app.service('service name', function(){//constructor})를 통해 서비스 생성

<script>
  var app = angular.module(&#39;myApp&#39;, [&#39;ng&#39;]);  //自定义服务
  app.service(&#39;$student&#39;, function () {
    this.study = function () {
      console.log(&#39;we are learning...&#39;);
    }    this.name = "zhangSan";
  })

  app.controller(&#39;myCtrl&#39;,    function ($scope, $student) {
      $student.study();
    });</script></body></html>
** app.constant를 통해 서비스 생성

app.value(&#39;服务名称&#39;,{})//创建变量服务**<script>  var app = angular.module(&#39;myApp&#39;, [&#39;ng&#39;]);  //创建常量服务
  app.constant(&#39;$Author&#39;,{name:&#39;KKK&#39;,email:&#39;**@163.com&#39;})  //创建变量服务
  app.value(&#39;$Config&#39;,{version:1})


  app.controller(&#39;myCtrl&#39;, function ($scope,$Author,$Config) {
    console.log($Author.email);
    console.log($Config.version);

  });
</script>
** ('서비스 이름' , {})//상수 서비스 생성
<body><p ng-controller="myCtrl">
  <button ng-click="start()">开始</button>
  <button ng-click="stop()">结束</button></p><script>
  var app = angular.module(&#39;myApp&#39;, [&#39;ng&#39;]);  //通过service方法去创建自定义服务
  app.service(&#39;$HeartBeat&#39;, function ($interval) {
    this.startBeat = function () {
      promise = $interval(function () {
        console.log(&#39;beat...&#39;);
      },1000);
    }    this.stopBeat = function () {
      $interval.cancel(promise);
    }
  })

  app.controller(&#39;myCtrl&#39;, function ($scope,$HeartBeat) {
    $scope.start = function () {
      $HeartBeat.startBeat();
    }

    $scope.stop = function () {
      $HeartBeat.stopBeat();
    }
  });</script>

참고:

맞춤형 서비스는 다른 서비스의 메서드를 사용해야 합니다


rrreee좋아, 이 글은 여기까지입니다. (자세한 내용을 보려면 다음으로 이동하세요. 여기 PHP 중국어 웹사이트AngularJS 사용자 매뉴얼

배우기), 질문이 있으시면 아래에 메시지를 남겨주세요.

위 내용은 Anglejs 서비스를 사용하는 방법은 무엇입니까? Anglejs 서비스 사용에 대한 구체적인 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.