对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 相关文章推荐
关于js中for in的缺陷浅析
Dec 02 Javascript
用jQuery实现的智能隐藏、滑动效果的返回顶部代码
Mar 18 Javascript
jQuery中removeData()方法用法实例
Dec 27 Javascript
js实现创建删除html元素小结
Sep 30 Javascript
AngularJS基础 ng-keydown 指令简单示例
Aug 02 Javascript
Vue.js每天必学之过渡与动画
Sep 06 Javascript
基于JavaScript实现图片剪切效果
Mar 07 Javascript
JavaScript DOM元素常见操作详解【添加、删除、修改等】
May 09 Javascript
基于vue循环列表时点击跳转页面的方法
Aug 31 Javascript
Vue项目打包部署到iis服务器的配置方法
Oct 14 Javascript
Vue.js仿Select下拉框效果
Feb 18 Javascript
纯js实现无缝滚动功能代码实例
Feb 21 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
约瑟夫环问题的PHP实现 使用PHP数组内部指针操作函数
2010/10/12 PHP
如何突破PHP程序员的技术瓶颈分析
2011/07/17 PHP
php缓存技术详细总结
2013/08/07 PHP
thinkPHP交易详情查询功能详解
2016/12/02 PHP
Javascript优化技巧(文件瘦身篇)
2008/01/28 Javascript
JavaScript 在各个浏览器中执行的耐性
2009/04/06 Javascript
isArray()函数(JavaScript中对象类型判断的几种方法)
2009/11/26 Javascript
关于JavaScript中原型继承中的一点思考
2012/07/25 Javascript
js实现的map方法示例代码
2014/01/13 Javascript
JQuery异步加载无限下拉框级联功能实现示例
2014/02/19 Javascript
使用jquery实现以post打开新窗口
2014/03/19 Javascript
JavaScript中的this关键字使用方法总结
2015/03/13 Javascript
JavaScript实现文本框中默认显示背景图片在获得焦点后消失的方法
2015/07/01 Javascript
详解javascript数组去重问题
2015/11/06 Javascript
js性能优化技巧
2015/11/29 Javascript
Javascript的无new构建实例详解
2016/05/15 Javascript
详解Javascript几种跨域方式总结
2017/02/27 Javascript
Angular实现下载安装包的功能代码分享
2017/09/05 Javascript
vue.js项目中实用的小技巧汇总
2017/11/29 Javascript
JavaScript 中的12种循环遍历方法【总结】
2018/05/31 Javascript
express如何解决ajax跨域访问session失效问题详解
2019/06/20 Javascript
python使用multiprocessing模块实现带回调函数的异步调用方法
2015/04/18 Python
python协程用法实例分析
2015/06/04 Python
深入学习Python中的装饰器使用
2016/06/20 Python
Python命名空间的本质和加载顺序
2018/12/17 Python
python IDLE 背景以及字体大小的修改方法
2019/07/12 Python
500行代码使用python写个微信小游戏飞机大战游戏
2019/10/16 Python
python numpy实现多次循环读取文件 等间隔过滤数据示例
2020/03/14 Python
Python基于argparse与ConfigParser库进行入参解析与ini parser
2021/02/02 Python
CSS3中的clip-path使用攻略
2015/08/03 HTML / CSS
个人求职简历的自我评价范文
2013/10/09 职场文书
舞蹈社团活动总结
2015/05/07 职场文书
走进毛泽东观后感
2015/06/04 职场文书
功夫熊猫观后感
2015/06/10 职场文书
2019班干部竞选演讲稿范本!
2019/07/08 职场文书
Java由浅入深通关抽象类与接口(下篇)
2022/04/26 Java/Android