对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模拟JQuery的show与hide动画函数代码
Sep 20 Javascript
javascript 正则表达式相关应介绍
Nov 27 Javascript
js取消单选按钮选中示例代码
Nov 14 Javascript
jQuery简单实现提交数据出现loading进度条的方法
Mar 29 Javascript
Bootstrap3.0学习教程之JS折叠插件
May 27 Javascript
基于JS实现省市联动效果代码分享
Jun 06 Javascript
thinkjs之页面跳转同步异步操作
Feb 05 Javascript
微信小程序checkbox组件使用详解
Jan 31 Javascript
JavaScript 日期时间选择器一些小结
Apr 02 Javascript
Bootbox将后台JSON数据填充Form表单的实例代码
Sep 10 Javascript
微信小程序云开发之使用云数据库
May 17 Javascript
如何用JavaScript学习算法复杂度
Apr 30 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 ob_flush,flush在ie中缓冲无效的解决方法
2010/05/09 PHP
php数组函数序列之array_search()- 按元素值返回键名
2011/11/04 PHP
强制PHP命令行脚本单进程运行的方法
2014/04/15 PHP
thinkphp视图模型查询提示ERR: 1146:Table 'db.pr_order_view' doesn't exist的解决方法
2014/10/30 PHP
php使用str_replace实现输入框回车替换br的方法
2014/11/24 PHP
PHP比你想象的好得多
2014/11/27 PHP
php删除文本文件中重复行的方法
2015/04/28 PHP
利用PHP fsockopen 模拟POST/GET传送数据的方法
2015/09/22 PHP
在WordPress中获取数据库字段内容和添加主题设置菜单
2016/01/11 PHP
javascript jQuery $.post $.ajax用法
2008/07/09 Javascript
IE和firefox浏览器的event事件兼容性汇总
2009/12/06 Javascript
通过javascript获取iframe里的值示例代码
2013/06/24 Javascript
用队列模拟jquery的动画算法实例
2015/01/20 Javascript
setTimeout内不支持jquery的选择器的解决方案
2015/04/28 Javascript
JQuery validate插件验证用户注册信息
2016/05/11 Javascript
Javascript中数组去重与拍平的方法示例
2017/02/03 Javascript
jQuery表格的维护和删除操作
2017/02/03 Javascript
微信小程序实现搜索历史功能
2020/03/26 Javascript
js String.prototype.trim字符去前后空格的扩展
2020/08/23 Javascript
详解微信小程序工程化探索之webpack实战
2020/04/20 Javascript
python访问类中docstring注释的实现方法
2015/05/04 Python
Python列表生成式与生成器操作示例
2018/08/01 Python
tensorflow2.0保存和恢复模型3种方法
2020/02/03 Python
PYQT5 vscode联合操作qtdesigner的方法
2020/03/24 Python
keras实现多GPU或指定GPU的使用介绍
2020/06/17 Python
Python实现敏感词过滤的4种方法
2020/09/12 Python
CSS3之边框多颜色Border-color属性使用示例
2013/10/11 HTML / CSS
使用CSS3的font-face字体嵌入样式的方法讲解
2016/05/13 HTML / CSS
护理专业自荐信
2013/12/03 职场文书
贷款委托书
2014/08/01 职场文书
全国爱眼日活动总结
2015/02/27 职场文书
2015年度党员自我评价范文
2015/03/03 职场文书
护理专业自我评价
2015/03/11 职场文书
升学宴来宾致辞
2015/07/27 职场文书
手把手教你从零开始react+antd搭建项目
2021/06/03 Javascript
Python面向对象之成员相关知识总结
2021/06/24 Python