iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > VUE >AngularJS基于factory如何创建自定义服务
  • 313
分享到

AngularJS基于factory如何创建自定义服务

2024-04-02 19:04:59 313人浏览 安东尼
摘要

这篇文章主要介绍了angularjs基于factory如何创建自定义服务,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。为什么要创建自定义服务

这篇文章主要介绍了angularjs基于factory如何创建自定义服务,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

为什么要创建自定义服务?

很简单,不想让控制器显得过于“臃肿”,而且服务可复用。针对性强,每个服务对应不同的功能。

这里介绍如何使用factory创建自定义服务,并且使用他。

例子1:

<!--html-->
<div ng-controller="showTheName">
  <h2 ng-bind="name"></h2>
</div>

var app = angular.module("routingDemoApp",[]);
app.factory("showName",function(){
  var NameFactory = {};
  NameFactory.name = "张三";
  return NameFactory;
});
app.controller("showTheName",function($scope,showName){
  $scope.name = showName.name;
});

使用factroy来创建一个服务和创建一个控制器非常像,只是创建服务需要返回这个服务的对象。这里的对象就是NameFactory 。一般的写法是在函数的一开始就创建一个变量对象,而后在进行对象里面属性以及方法的设置,最后返回这个对象即可。

在控制器使用自定义的服务与使用AngularJS自带的服务几乎一样,只是名字的前面没有美元($)符号。在注入了自定义的服务后,控制器中就可以随意的使用该控制器返回的对象的属性和方法了。

自定义服务还有个更强大的玩法,就是在创建自定义服务的同时将已经创建好的服务注入。以上一篇博文的基础为例,使用自定义服务来实现读取ajax文件。(JSON文件可参考前面一篇《AngularJS读取JSON及XML文件的方法》,这里不给出了)

<!--html-->
<div class="panel panel-default" ng-controller="AjaxJson">
  <div class="panel-body">
    <table class="table table-striped table-hover">
      <thead>
      <tr>
        <td>名</td>
        <td>种类</td>
        <td>价格</td>
        <td>保质期</td>
      </tr>
      </thead>
      <tbody>
      <tr ng-hide="products.length">
        <td colspan="4" class="text-center">没有数据</td>
      </tr>
      <tr ng-repeat="item in products">
        <td ng-bind="item.name"></td>
        <td ng-bind="item.cateGory"></td>
        <td ng-bind="item.price"></td>
        <td ng-bind="item.expiry"></td>
      </tr>
      </tbody>
    </table>
    <p><button ng-click="LoadJson()">加载JSON数据</button></p>
  </div>
</div>

app.factory("loadJSON",function($Http,$q){
  var loadJson ={};
  loadJson.loadjson = function(){
    var d = $q.defer();
    $http({
      url:"json.json",
      method:"GET"
    })
      .success(function(response){
      d.resolve(response);
    })
      .error(function(){
        d.reject(alert("出错"));
      });
    return d.promise;
  };
  return loadJson;
});
app.controller("AjaxJson",function($scope,loadJSON){
  $scope.LoadJson = function () {
    loadJSON.loadjson().then(function(data){
      $scope.products = data;
    },function(){
      alert("出错");
    })
  }
});

步骤如下:

1)将$http,$q 注入到匿名函数中。
2)创建一个变量对象,命名为loadJson。
3)在该对象中创建一个方法,命名为loadjson()。
4)创建一个变量d,赋予它$q.difer()方法。
5)使用http({})创建一个promise对象,并返回该promise对象。
6)返回ladJson对象。服务创建完毕。
7)在控制器中注入该服务,使用then()方法对自定义服务返回的承诺进行操作。

感谢你能够认真阅读完这篇文章,希望小编分享的“AngularJS基于factory如何创建自定义服务”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网VUE频道,更多相关知识等着你来学习!

--结束END--

本文标题: AngularJS基于factory如何创建自定义服务

本文链接: https://www.lsjlt.com/news/72759.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • AngularJS基于factory如何创建自定义服务
    这篇文章主要介绍了AngularJS基于factory如何创建自定义服务,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。为什么要创建自定义服务...
    99+
    2022-10-19
  • PyQt 如何创建自定义QWidget
    目录开发环境主要文件:main.pyapp_main_window.pyTips多控件可以存在list中QApplication与QWidget注意widget持有外部对象引用的问题...
    99+
    2022-11-11
  • 基于Python创建可定制的HTTP服务器
    目录1、编写服务端代码2、编写网页html+css文件3、复制html+css到服务端py文件同一文件夹下4、运行服务端程序5、浏览器中输入localhost:8080要编写一个简单...
    99+
    2023-05-12
    Python实现定制HTTP服务器 Python定制HTTP服务器 Python HTTP服务器
  • html如何创建自定义列表
    这篇文章主要介绍了html如何创建自定义列表,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。定义列表自定义列表不仅仅是一列项目,而是项目及其注...
    99+
    2022-10-19
  • C#如何创建自定义特性
    目录概述实现方式概述 特性(Attribute)是用于在运行时传递程序中各种元素(比如类、方法、结构、枚举、组件等)的行为信息的声明性标签。您可以通过使用特性向程序添加声明性信息。...
    99+
    2022-11-12
  • 如何创建 JavaScript 自定义事件
    目录怎么创建自定义事件事件定制冒泡 bubbles可取消 cancelable组合 composed给事件传递自定义数据命名约定双击事件总结前言: 相信大家肯定处理过很多的事件监听,...
    99+
    2022-11-13
  • 阿里云服务器创建自定义镜像
    创建自定义镜像的步骤如下: 选择您要创建镜像的阿里云服务器: 在阿里云官网上查找相应的服务以查看所选服务的详细参数和功能。 在阿里云服务器上创建镜像: 在阿里云服务器上创建镜像。您可以在控制台上创建镜像、选择镜像的目录、选择镜像所需的云...
    99+
    2023-10-26
    阿里 自定义 镜像
  • Angular中如何自定义创建指令
    小编给大家分享一下Angular中如何自定义创建指令,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!指令介绍在 Angular 中有三种类型的指令:组件,有模板的指...
    99+
    2023-06-14
  • 阿里云服务器创建自定义镜像模式
    创建自定义镜像模式通常可以通过以下几种方式实现: 使用MySQL数据库:你可以使用MySQL数据库创建自己的镜像,如Redis。此外,你还可以使用MongoDB或其他MongoDB容器,如Kubernetes。 使用Redis:你可以使...
    99+
    2023-10-27
    阿里 自定义 镜像
  • 阿里云服务器创建自定义镜像文件
    创建自定义镜像文件需要以下步骤: 打开阿里云服务器软件,并选择“自定义镜像文件”。 点击下拉菜单中的“创建镜像”选项,进入创建镜像页面。 在创建镜像页面上,可以根据自己的需要创建不同的文件夹和文件,并且可以为每个文件命名。 在创建完成的...
    99+
    2023-10-27
    阿里 自定义 镜像文件
  • Knockout应用开发中如何创建自定义绑定
    这篇文章给大家介绍Knockout应用开发中如何创建自定义绑定,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。创建自定义绑定你可以创建自己的自定义绑定,没有必要非要使用内嵌的绑定(像cl...
    99+
    2022-10-19
  • 阿里云服务器创建自定义镜像文件夹
    创建自定义镜像文件夹可以很简单,只需在阿里云服务器上创建一个名为"myfolder.image"的新文件夹,其中包含您创建的自定义镜像,然后在该文件夹中创建一个名为"myimage.png"的新图片文件。 以下是一个示例操作: 打开阿里...
    99+
    2023-10-27
    阿里 自定义 镜像
  • 基于AGS和JS开发如何自定义贴图图层
    这篇文章给大家分享的是有关基于AGS和JS开发如何自定义贴图图层的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1.前言假设一个景区有多张图片需要在地图上展示,并且随着地图的缩放而...
    99+
    2022-10-19
  • 阿里云服务器创建自定义镜像要收费吗
    阿里云服务器创建自定义镜像的收费模式可能因地区、服务器硬件配置、操作系统版本等因素而略有不同,建议您可以参考相关的阿里云服务商提供的信息并咨询具体的价格。一般来说,创建自定义镜像的价格范围在几十元到几百元之间。如果您使用的是较新的硬件配置,...
    99+
    2023-10-27
    阿里 自定义 镜像
  • 如何用C#创建用户自定义异常浅析
    概述 异常是在程序执行期间出现的问题。C# 中的异常是对程序运行时出现的特殊情况的一种响应,比如尝试除以零。异常提供了一种把程序控制权从某个部分转移到另一个部分的方式。C# 异常处...
    99+
    2022-11-12
  • Python如何创建一个自定义视频播放器
    这篇文章主要讲解了“Python如何创建一个自定义视频播放器”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python如何创建一个自定义视频播放器”吧!1、安装vlc的64位版本。2、安装p...
    99+
    2023-07-05
  • 如何创建快捷方式到自定义的位置
    本篇内容介绍了“如何创建快捷方式到自定义的位置”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!  把如下代码内容保存为shortcut.vbs...
    99+
    2023-06-08
  • 如何进行基于云服务器的mysql自建从库
    基于云服务器的mysql自建从库,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1、开启从库GTIDset global g...
    99+
    2022-10-18
  • 阿里云服务器创建自定义镜像文件怎么弄
    首先登录阿里云服务器的控制台,进入“创建镜像”页面。 在“创建镜像”页面中,选择您想要创建镜像的服务器IP地址和操作系统版本,并点击“创建镜像”按钮。 在“创建镜像”页面中,可以选择要创建的镜像格式,例如“mirror-img”格式。您可...
    99+
    2023-10-27
    阿里 自定义 怎么弄
  • 阿里云服务器创建自定义镜像模式是什么
    阿里云服务器自定义镜像模式可以实现灵活的资源分配和负载均衡,同时提供更高的安全性和可靠性,可以在多个地理位置或网络中部署服务器,以提高应用程序的性能和可用性。此外,阿里云服务器自定义镜像模式还可以根据应用程序的需求进行定制和扩展,以满足不同...
    99+
    2023-10-27
    阿里 自定义 镜像
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作