对angularJs中2种自定义服务的实例讲解


Posted in Javascript onSeptember 30, 2018

本篇文章介绍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

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

二、使用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种自定义服务的实例讲解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jquery插件bxslider用法实例分析
Apr 16 Javascript
JavaScript编程中布尔对象的基本使用
Oct 25 Javascript
JQuery validate插件验证用户注册信息
May 11 Javascript
BootStrap Table 获取同行不同列元素的方法
Dec 19 Javascript
jQuery、zepto、js常用小技巧
Feb 12 Javascript
利用js定义一个导航条菜单
Mar 14 Javascript
Vue.js项目模板搭建图文教程
Sep 20 Javascript
jqueryUI tab标签页代码分享
Oct 09 jQuery
微信小程序button组件使用详解
Jan 31 Javascript
详解小程序循环require之坑
Mar 08 Javascript
JavaScript实现拖拽效果
Mar 16 Javascript
VUE页面中通过双击实现复制表格中内容的示例代码
Jun 11 Javascript
angularJs在多个控制器中共享服务数据的方法
Sep 30 #Javascript
iview Upload组件多个文件上传的示例代码
Sep 30 #Javascript
VUE 配置vue-devtools调试工具及安装方法
Sep 30 #Javascript
angularJs中orderBy筛选以及filter过滤数据的方法
Sep 30 #Javascript
jQuery实现点击图标div循环放大缩小功能
Sep 30 #jQuery
angularJs使用ng-repeat遍历后选中某一个的方法
Sep 30 #Javascript
基于VUE实现的九宫格抽奖功能
Sep 30 #Javascript
You might like
WIN8.1下搭建PHP5.6环境
2015/04/29 PHP
广告代码静态化js通用函数
2007/05/09 Javascript
javascript 强制刷新页面的实现代码
2009/12/13 Javascript
jquery动态加载图片数据练习代码
2011/08/04 Javascript
jquery Tab效果和动态加载的简单实例
2013/12/11 Javascript
Javascript排序算法之计数排序的实例
2014/04/05 Javascript
js单独获取一个checkbox看其是否被选中
2014/09/22 Javascript
jQuery中live()方法用法实例
2015/01/19 Javascript
JavaScript中Number.MIN_VALUE属性的使用示例
2015/06/04 Javascript
Angular2 之 路由与导航详细介绍
2017/05/26 Javascript
Vue中控制v-for循环次数的实现方法
2018/09/26 Javascript
vue下载excel的实现代码后台用post方法
2019/05/10 Javascript
JS中的模糊查询功能
2019/12/08 Javascript
使用typescript改造koa开发框架的实现
2020/02/04 Javascript
angular *Ngif else用法详解
2020/12/15 Javascript
python统计文本字符串里单词出现频率的方法
2015/05/26 Python
python解决汉字编码问题:Unicode Decode Error
2017/01/19 Python
python3将视频流保存为本地视频文件
2018/06/20 Python
python中hasattr()、getattr()、setattr()函数的使用
2019/08/16 Python
Python Web静态服务器非堵塞模式实现方法示例
2019/11/21 Python
python实现简单井字棋游戏
2020/03/04 Python
Python参数传递及收集机制原理解析
2020/06/05 Python
Speedo澳大利亚官网:全球领先游泳品牌
2018/02/04 全球购物
寻找完美的房车租赁:RVShare
2019/02/23 全球购物
英国户外服装、鞋类和设备的领先零售商:Millets
2020/10/12 全球购物
Perfume’s Club美国官网:西班牙第一家在线美容店
2020/06/10 全球购物
银行存款证明样本
2014/01/17 职场文书
应聘面试自我评价
2014/01/24 职场文书
升学宴主持词
2014/04/02 职场文书
文明寄语大全
2014/04/11 职场文书
《风娃娃》教学反思
2014/04/19 职场文书
经济贸易系毕业生求职信
2014/05/31 职场文书
三月雷锋月活动总结
2014/07/03 职场文书
黑白记忆观后感
2015/06/18 职场文书
婚礼伴郎致辞
2015/07/28 职场文书
中国文明网2015年“向国旗敬礼”活动网上签名寄语
2015/09/24 职场文书