provider, factory和service都是写AngularJS的service中常用的关键字,很容易混淆,写了一个简单的例子显示他们之间的区别:

分别用service,factory和provider定义三个service:

[html] view plaincopy print?
  1. var wtcModule = angular.module('wtc', []);
  2. wtcModule.service('testService',function(){
  3. this.lable = 'this is service';
  4. });
  5. wtcModule.factory('testFactory', function () {
  6. return{
  7. lable: function(){
  8. return 'this is factory';
  9. }
  10. }
  11. });
  12. wtcModule.provider('testProvider', function(){
  13. this.$get = function(){
  14. return 'this is provider';
  15. }
  16. });

var wtcModule = angular.module('wtc', []);wtcModule.service('testService',function(){this.lable = 'this is service';
});wtcModule.factory('testFactory', function () {return{lable: function(){return 'this is factory';}}
});wtcModule.provider('testProvider', function(){this.$get = function(){return 'this is provider';}
});

在页面上留出三个占位符:

[html] view plaincopy print?
  1. <body ng-controller='outputCtrl'>
  2. <p>{{ output1 }}</p>
  3. <p>{{ output2 }}</p>
  4. <p>{{ output3 }}</p>
  5. </body>

<body ng-controller='outputCtrl'><p>{{ output1 }}</p><p>{{ output2 }}</p><p>{{ output3 }}</p>
</body>

写好outputCtrl:

[html] view plaincopy print?
  1. var wtcModule = angular.module('wtc');
  2. wtcModule.controller('outputCtrl', function($scope,testService, testFactory, testProvider){
  3. $scope.output1 = testService.lable;
  4. $scope.output2 = testFactory.lable();
  5. $scope.output3 = testProvider;
  6. });

var wtcModule = angular.module('wtc');wtcModule.controller('outputCtrl', function($scope,testService, testFactory, testProvider){$scope.output1 = testService.lable;$scope.output2 = testFactory.lable();$scope.output3 = testProvider;
});

最后页面的显示结果为;

说明:

注入service,相当于注入service定义时的function实例。

注入factory,相当于注入factory定义时的函数调用入口。

注入provider,相当于注入provider内$get定义的函数实例的调用。

转自:http://blog.csdn.net/u012841667/article/details/52749996

angularJS中service、provice、factor区别相关推荐

  1. AngularJS中service,factory,provider的区别(转载:http://my.oschina.net/tanweijie/blog/295067)...

    目录[-] 一.service引导 二.service 1.factory() ‍2.service()‍ ‍3.provider()‍‍ 一.service引导 刚开始学习Angular的时候,经常 ...

  2. angular中service、provice、factor区别

    provider, factory和service都是写Angularjs的service中常用的关键字,很容易混淆,写了一个简单的例子显示他们之间的区别: 分别用service,factory和pr ...

  3. angularjs 中 Factory,Service,Provider 之间的区别

    本片文章是使用了 angularjs 中使用 service 在controller 之间 share 对象和数据 的code(http://jsfiddle.net/kn46u0uj/1/) 来进行 ...

  4. 如果我有jQuery背景,那么“ AngularJS中的思考”吗? [关闭]

    已关闭 . 这个问题需要更加集中 . 它当前不接受答案. 想改善这个问题吗? 更新问题,使其仅通过编辑此帖子来关注一个问题. 4年前关闭. 已锁定 . 该问题及其答案被锁定,因为该问题是题外话,但具有 ...

  5. 理解AngularJS中的依赖注入

    作者 CraftsCoder 冷月无声 - 博客频道 - CSDN.NET http://blog.csdn.net/jaytalent/article/details/50986402 本文结合一些 ...

  6. AngularJS Provider/Service/Factory 使用

    一.AngularJS 初始化加载流程 1.浏览器载入HTML,然后把它解析成DOM. 2.浏览器载入angular.js脚本. 3.AngularJS等到DOMContentLoaded事件触发. ...

  7. AngularJS中使用HTML5摄像头拍照

    1. 项目背景 公司开发一个网站,在做用户头像修改的时候领导提到增加一个由摄像头拍照实现修改头像的功能.因为我们网站是基于Html5进行开发,所以就直接采用H5来实现拍照.起初觉得这个功能很简单,但是 ...

  8. AngularJS之Service(四)

    前言 前面我们讲了控制器.过滤器以及指令,这一节我们来讲讲重大内容之一服务和其中涉及到的工厂. 话题 AngularJS中服务可以说是和DI紧密联系在一起,在应用程序中我们可以通过使用服务来共享代码, ...

  9. 转: 理解AngularJS中的依赖注入

    理解AngularJS中的依赖注入 AngularJS中的依赖注入非常的有用,它同时也是我们能够轻松对组件进行测试的关键所在.在本文中我们将会解释AngularJS依赖注入系统是如何运行的. Prov ...

最新文章

  1. 我们准备在网关中支持GrahpQL了
  2. android ViewPager动画的实现原理及效果
  3. 类加载器-线程上下文
  4. 在计算机科学中计算是指,在计算机中数值计算是指什么
  5. ios 内存管理的理解(四)ARC下循环引用问题
  6. 利用Postman测试智慧交通系统接口
  7. leetcode 88 Merge Sorted Array
  8. 【采访】腾讯社交广告高校算法大赛决赛第一周最大进步队伍——SkullGreymon比赛经验及心得分享
  9. 作用域链涉及了什么计算机底层知识,你必须知道的Javascript知识点之深入理解作用域链的介绍...
  10. java推送微信消息换行_5行代码实现微信小程序模版消息推送 (含推送后台和小程序源码)...
  11. 人脸方向学习(九):Face Detection-MTCNN解读
  12. html中c b和b s,Web开发中B/S架构和C/S架构的区别
  13. f分布表完整图a=0.01_第7章 分布分析
  14. C-V2X行业现状、产业化部署与演进路线
  15. 入侵sf服务器技术_入侵服务器、疯狂攻击各种网站, 这个黑客团伙终被“团灭”!...
  16. 2022考研资料每日更新(2021.05.07)
  17. sql server 使用 top WITH TIES
  18. Jupyter notebook如何更换主题、更改字体大小?
  19. 创业公司 JPEGmini 可以将照片缩小5倍,但保证图片质量和分辨率
  20. 10-93 spj-查找在同一个城市的所有工程项目

热门文章

  1. 倍福位置记忆--TwinCAT对绝对值编码器溢出圈数的处理--以汇川IS620N为例
  2. Nodepad++的常用文本操作技巧
  3. layer.tips换行问题(解决layui tips连续英文和数字不换行问题)
  4. 在win7中安装node14.0以上版本
  5. 直击痛点,九州云5G专网助力一汽富晟智慧物流建设
  6. 读书笔记-每天5分钟玩转k8s
  7. 笔记本 ubuntu 10.04禁用触摸板
  8. photoshop教你结婚请柬制作教程【xpghost】
  9. YX-AGV-A101系列AGV控制器
  10. python计算器总结_Python 计算器的简单示例