本篇文章介绍2种自定义服务的方式,一种是用factory,一种是用service

一、首先介绍使用factory来进行自定义服务

1.html


<div ng-app="module" ng-controller="ctrl">
  <table border="1" width="600">
    <tr>
      <td>网站名称</td>
      <td>网址</td>
    </tr>
    <tr ng-repeat="v in data">
      <td>{{v.name}}</td>
      <td>{{v.url}}</td>
    </tr>
  </table>
</div>
<script>
  var m = angular.module('module', []);
  //factory定义服务videoServer
  m.factory('videoServer', ['$http', function ($http) {
    return {
      /* 第一种方式      
        get: function (callback) {
        $http({url: '1.php'}).then(function (response) {
          callback(response);
        });
      }*/
      //第二种方式
      all: function () {
        return $http({url: '1.php'});
      }
    };
  }]);
  //在控制器中使用videoServer服务,与自带的服务使用方式一样
  m.controller('ctrl', ['$scope', 'videoServer', function ($scope, videoServer) {
    /*第一种方式
    videoServer.get(function (response) {
      $scope.data = response.data;
    });
    */
    //第二种方式
    videoServer.all().then(function (response) {
      $scope.data = response.data;
    });
  }]);
</script>

1.php

<"background-color: #ccffcc">二、使用service来进行自定义服务

2.html

<div ng-app="module" ng-controller="ctrl">
  <table border="1" width="600">
    <tr>
      <td>网站名称</td>
      <td>网址</td>
    </tr>
    <tr ng-repeat="v in data">
      <td>{{v.name}}</td>
      <td>{{v.url}}</td>
    </tr>
  </table>
</div>
<script>

  var m = angular.module('module', []);
  //service自定义服务videoServer
  m.service('videoServer', ['$http', function($http){
    this.get=function(){
      return $http({method:'get',url:'2.php'}).then(function(response){
        return response.data;
      })
    }
  }])
   //在控制器中使用videoServer服务,与自带的服务使用方式一样
  m.controller('ctrl', ['$scope', 'videoServer', function ($scope, videoServer) {
    videoServer.get().then(function (data) {
      $scope.data = data;
    });
  }]);
</script>

2.php

<?php
$data = [
  [ 'name' => '百度', 'url' => 'www.baidu.com' ],
  [ 'name' => '谷歌', 'url' => 'google.com' ],
];
echo json_encode($data,JSON_UNESCAPED_UNICODE);

以上这篇对angularJs中2种自定义服务的实例讲解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

标签:
angularJs,自定义服务

免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
白云城资源网 Copyright www.dyhadc.com

评论“对angularJs中2种自定义服务的实例讲解”

暂无“对angularJs中2种自定义服务的实例讲解”评论...

稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!

昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。

这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。

而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?