对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提交表单 Form.js官方插件介绍
Mar 01 Javascript
处理及遍历XML文档DOM元素属性及方法整理
Aug 23 Javascript
悬浮数字的实现案例
Feb 19 Javascript
页面元素绑定jquery toggle后元素隐藏的解决方法
Mar 27 Javascript
Firefox中使用outerHTML的2种解决方法
Jun 07 Javascript
jQuery实现下拉框左右移动(全部移动,已选移动)
Apr 15 Javascript
WEB前端实现裁剪上传图片功能
Oct 17 Javascript
canvas仿iwatch时钟效果
Mar 06 Javascript
javascript实现导航栏分页效果
Jun 27 Javascript
在layui中对table中的数据进行判断(0、1)转换为提示信息的方法
Sep 28 Javascript
Node.js学习之内置模块fs用法示例
Jan 22 Javascript
vue axios封装httpjs,接口公用配置拦截操作
Aug 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
咖啡常见的种类
2021/03/03 新手入门
PHP中的extract的作用分析
2008/04/09 PHP
用php实现的下载css文件中的图片的代码
2010/02/08 PHP
php下目前为目最全的CURL中文说明
2010/08/01 PHP
PHP查询网站的PR值
2013/10/30 PHP
开启PHP Static 关键字之旅模式
2015/11/13 PHP
用javascript获取textarea中的光标位置
2008/05/06 Javascript
struts2 jquery 打造无限层次的树
2009/10/23 Javascript
原生js拖拽(第一课 未兼容)拖拽思路
2013/03/29 Javascript
JavaScript splice()方法详解
2020/09/22 Javascript
7个JS基础知识总结
2014/03/05 Javascript
jquery图片轮播特效代码分享
2020/04/20 Javascript
JavaScript字符串删除重复字符的方法
2015/12/25 Javascript
基于JavaScript代码实现自动生成表格
2016/06/15 Javascript
老生常谈js动态添加事件--- 事件委托
2016/07/19 Javascript
jQuery EasyUI tree 使用拖拽时遇到的错误小结
2016/10/10 Javascript
bootstrap fileinput组件整合Springmvc上传图片到本地磁盘
2017/05/11 Javascript
JavaScript中常见内置函数用法示例
2018/05/14 Javascript
JS获取浏览器地址栏的多个参数值的任意值实例代码
2018/07/24 Javascript
在vue中多次调用同一个定义全局变量的实例
2018/09/25 Javascript
100行代码实现一个vue分页组功能
2018/11/06 Javascript
JSON生成Form表单的方法示例
2018/11/21 Javascript
angular 服务随记小结
2019/05/06 Javascript
[48:37]EG vs OG 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
详解Python设计模式编程中观察者模式与策略模式的运用
2016/03/02 Python
详解Django中六个常用的自定义装饰器
2018/07/04 Python
PyQt5实现类似别踩白块游戏
2019/01/24 Python
python绘制地震散点图
2019/06/18 Python
python 微信好友特征数据分析及可视化
2020/01/07 Python
使用css3实现的windows8开机加载动画
2014/12/09 HTML / CSS
Kenneth Cole官网:纽约时尚优雅品牌
2016/11/14 全球购物
优秀大学生的自我评价
2014/01/16 职场文书
植物生产学专业求职信
2014/08/08 职场文书
2014最新党员批评与自我批评材料
2014/09/24 职场文书
大学迎新生标语
2014/10/06 职场文书
《火纹风花雪月无双》预告“神秘雇佣兵” 紫发剑客
2022/04/13 其他游戏