对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动态创建div
Sep 25 Javascript
用按钮控制iframe显示的网页实现方法
Feb 04 Javascript
JS检测图片大小的实例
Aug 21 Javascript
JS的Document属性和方法小结
Sep 17 Javascript
如何从jQuery的ajax请求中删除X-Requested-With
Dec 11 Javascript
JS中的form.submit()不能提交表单的错误原因
Oct 08 Javascript
easyui Droppable组件实现放置特效
Aug 19 Javascript
jQuery实现表格奇偶行显示不同背景色 就这么简单
Mar 13 Javascript
利用js定义一个导航条菜单
Mar 14 Javascript
el-select数据过多懒加载的解决(loadmore)
May 29 Javascript
用原生JS实现爱奇艺首页导航栏代码实例
Sep 19 Javascript
使用Vue调取接口,并渲染数据的示例代码
Oct 28 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函数的方法
2013/11/13 PHP
php获取URL中带#号等特殊符号参数的解决方法
2014/09/02 PHP
实例介绍PHP中zip_open()函数用法
2019/02/15 PHP
jquery showModelDialog的使用方法示例详解
2013/11/19 Javascript
javascript得到当前页的来路即前一页地址的方法
2014/02/18 Javascript
jQuery 1.9使用$.support替代$.browser的使用方法
2014/05/27 Javascript
使用mini-define实现前端代码的模块化管理
2014/12/25 Javascript
JS控制按钮10秒钟后可用的方法
2015/12/22 Javascript
基于JavaScript实现表单密码的隐藏和显示出来
2016/03/02 Javascript
基于javascript实现页面加载loading效果
2020/09/15 Javascript
javascript中闭包概念与用法深入理解
2016/12/15 Javascript
详解Nodejs基于mongoose模块的增删改查的操作
2016/12/21 NodeJs
AngularJS实现网站换肤实例
2021/02/19 Javascript
BootstrapTable请求数据时设置超时(timeout)的方法
2017/01/22 Javascript
Vue.js实战之通过监听滚动事件实现动态锚点
2017/04/04 Javascript
JS使用cookie实现只出现一次的广告代码效果
2017/04/22 Javascript
vue+axios实现文件下载及vue中使用axios的实例
2018/09/21 Javascript
使用vue开发移动端管理后台的注意事项
2019/03/07 Javascript
vue中typescript装饰器的使用方法超实用教程
2019/06/17 Javascript
JavaScript实现随机点名程序
2020/03/25 Javascript
uni-app实现获取验证码倒计时功能
2020/11/01 Javascript
浅谈Python 中整型对象的存储问题
2016/05/16 Python
pyenv命令管理多个Python版本
2017/03/26 Python
使用python遍历指定城市的一周气温
2017/03/31 Python
python模拟登录并且保持cookie的方法详解
2017/04/04 Python
python 调用win32pai 操作cmd的方法
2017/05/28 Python
Python读取Word(.docx)正文信息的方法
2018/03/15 Python
Python学习笔记之自定义函数用法详解
2019/06/08 Python
Selenium+Python 自动化操控登录界面实例(有简单验证码图片校验)
2019/06/28 Python
Django admin model 汉化显示文字的实现方法
2019/08/12 Python
2014迎新年晚会策划方案
2014/02/23 职场文书
《金孔雀轻轻跳》教学反思
2014/04/20 职场文书
艺术设计专业求职自荐信
2014/05/19 职场文书
《自己去吧》教学反思
2016/02/16 职场文书
怎样评估创业计划书是否有可行性?
2019/08/07 职场文书
教你怎么用Python selenium操作浏览器对象的基础API
2021/06/23 Python