对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 相关文章推荐
window.onresize 多次触发的解决方法
Nov 08 Javascript
js动态拼接正则表达式的两种方法
Mar 04 Javascript
如何实现JavaScript动态加载CSS和JS文件
Dec 28 Javascript
jquery操作select取值赋值与设置选中实例
Feb 28 Javascript
layui框架table 数据表格的方法级渲染详解
Aug 19 Javascript
React通过redux-persist持久化数据存储的方法示例
Feb 14 Javascript
vue 实现移动端键盘搜索事件监听
Nov 06 Javascript
jQuery Raty星级评分插件使用方法实例分析
Nov 25 jQuery
小程序接口的promise化的实现方法
Dec 11 Javascript
微信小程序背景音乐开发详解
Dec 12 Javascript
JavaScript事件委托实现原理及优点进行
Aug 29 Javascript
element-ui tree结构实现增删改自定义功能代码
Aug 31 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保存信息到当前Session的方法
2015/03/16 PHP
php array_udiff_assoc 计算两个数组的差集实例
2016/11/12 PHP
基于CI框架的微信网页授权库示例
2016/11/25 PHP
PHP实现动态创建XML文档的方法
2018/03/30 PHP
laravel-admin 实现给grid的列添加行数序号的方法
2019/10/08 PHP
jQuery 浮动广告实现代码
2008/12/25 Javascript
Javascript下IE与Firefox下的差异兼容写法总结
2010/06/18 Javascript
jquery蒙版控件实现代码
2010/12/08 Javascript
javascript学习笔记(七)利用javascript来创建和存储cookie
2011/04/08 Javascript
Jquery 类网页微信二维码图块滚动效果具体实现
2013/10/14 Javascript
JSP中使用JavaScript动态插入删除输入框实现代码
2014/06/13 Javascript
Nodejs极简入门教程(二):定时器
2014/10/25 NodeJs
Bootstrap Fileinput文件上传组件用法详解
2016/05/10 Javascript
易被忽视的js事件问题总结
2016/05/14 Javascript
angular实现商品筛选功能
2017/02/01 Javascript
在使用JSON格式处理数据时应该注意的问题小结
2017/05/20 Javascript
利用原生JS实现欢乐水果机小游戏
2020/04/23 Javascript
[38:38]完美世界DOTA2联赛PWL S3 access vs Rebirth 第二场 12.17
2020/12/18 DOTA
跟老齐学Python之变量和参数
2014/10/10 Python
python中字符串类型json操作的注意事项
2017/05/02 Python
python简单线程和协程学习心得(分享)
2017/06/14 Python
python使用mysql的两种使用方式
2018/03/07 Python
Java实现的执行python脚本工具类示例【使用jython.jar】
2018/03/29 Python
Python生成任意范围任意精度的随机数方法
2018/04/09 Python
HTML5标签与HTML4标签的区别示例介绍
2013/07/18 HTML / CSS
松下电器美国官方商店:Panasonic美国
2016/10/14 全球购物
Fossil美国官网:化石手表、手袋、首饰及配饰
2019/02/17 全球购物
俄罗斯电动工具和设备购物网站:Vseinstrumenti.ru
2020/11/12 全球购物
数据库连接池的工作原理
2012/09/26 面试题
交通事故赔偿协议书
2014/04/15 职场文书
2014离婚协议书范文
2014/09/10 职场文书
领导班子遵守党的政治纪律情况对照检查材料
2014/09/26 职场文书
2015年计生工作总结范文
2015/04/24 职场文书
值班管理制度范本
2015/08/06 职场文书
MySQL 使用SQL语句修改表名的实现
2021/04/07 MySQL
Python利器openpyxl之操作excel表格
2021/04/17 Python