对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 相关文章推荐
autoPlay 基于jquery的图片自动播放效果
Dec 07 Javascript
javascript去除空格方法小结
May 21 Javascript
JavaScript基本语法学习教程
Jan 14 Javascript
JS加载器如何动态加载外部js文件
May 26 Javascript
bootstrap datetimepicker2.3.11时间插件使用
Nov 19 Javascript
学习vue.js中class与style绑定
Dec 03 Javascript
浅谈JavaScript中的apply/call/bind和this的使用
Feb 26 Javascript
JS使用插件cryptojs进行加密解密数据实例
May 11 Javascript
javascript获取指定区间范围随机数的方法
Sep 08 Javascript
微信小程序分享功能之按钮button 边框隐藏和点击隐藏
Jun 14 Javascript
js实现查询商品案例
Jul 22 Javascript
react 路由Link配置详解
Nov 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
PHP 配置文件中open_basedir选项作用
2009/07/19 PHP
Win7 64位系统下PHP连接Oracle数据库
2014/08/20 PHP
php基于Snoopy解析网页html的方法
2015/07/09 PHP
PHP Cookei记录用户历史浏览信息的代码
2016/02/03 PHP
PHP共享内存用法实例分析
2016/02/12 PHP
php使用get_class_methods()函数获取分类的方法
2016/07/20 PHP
PHP入门教程之面向对象的特性分析(继承,多态,接口,抽象类,抽象方法等)
2016/09/11 PHP
浅析PHP开发规范
2018/02/05 PHP
JS在IE下缺少标识符的错误
2014/07/23 Javascript
jQuery中index()方法用法实例
2014/12/27 Javascript
html的DOM中Event对象onabort事件用法实例
2015/01/21 Javascript
深入浅出ES6之let和const命令
2016/08/25 Javascript
webpack项目调试以及独立打包配置文件的方法
2018/02/28 Javascript
js使用文件流下载csv文件的实现方法
2019/07/15 Javascript
Vue移动端项目实现使用手机预览调试操作
2020/07/18 Javascript
Vue执行方法,方法获取data值,设置data值,方法传值操作
2020/08/05 Javascript
JavaScript实现简单日历效果
2020/09/11 Javascript
[02:55]含熏伴清风,风行者至宝、屠夫身心及典藏宝瓶二展示
2020/09/08 DOTA
python算法学习之基数排序实例
2013/12/18 Python
python实现分页效果
2017/10/25 Python
解决Python print 输出文本显示 gbk 编码错误问题
2018/07/13 Python
python高级特性和高阶函数及使用详解
2018/10/17 Python
梅尔频率倒谱系数(mfcc)及Python实现
2019/06/18 Python
快速解释如何使用pandas的inplace参数的使用
2020/07/23 Python
Python图像读写方法对比
2020/11/16 Python
CSS3 按钮边框动画的实现
2020/11/12 HTML / CSS
奶茶专卖店创业计划书
2014/01/18 职场文书
环保标语口号
2014/06/13 职场文书
加强作风建设演讲稿
2014/10/24 职场文书
特此通知格式
2015/04/27 职场文书
求职自我评价参考范文
2019/05/16 职场文书
pytorch 中autograd.grad()函数的用法说明
2021/05/12 Python
PostgreSQL通过oracle_fdw访问Oracle数据的实现步骤
2021/05/21 PostgreSQL
python如何利用cv2模块读取显示保存图片
2021/06/04 Python
使用Oracle跟踪文件的问题详解
2021/06/28 Oracle
MySQL索引是啥?不懂就问
2021/07/21 MySQL