Angularjs 自定义服务的三种方式(推荐)


Posted in Javascript onAugust 02, 2016

AngularJS简介:

Angularjs 自定义服务的三种方式(推荐)

AngularJS 通过新的属性和表达式扩展了 HTML。

AngularJS 可以构建一个单一页面应用程序(SPAs:Single Page Applications)。

AngularJS 学习起来非常简单。

angularjs 中可通过三种($provider,$factory,$service)方式自定义服务,以下是不同的实现形式:

// 定义module , module中注入$provide
var starterApp = angular.module('starter.controllers', [],function($provide){
// 第一种方式:使用provide的provider自定义服务
$provide.provider('getUserInfoService', function(){
this.$get = function(){
var userInfo = [{
'userName':'张三0',
'userNick':'小花0',
'age':25
},{
'userName':'张三1',
'userNick':'小花1',
'age':26
}];
return userInfo;
}
});
$provide.factory('',function(){});
$provide.service('',function(){});
});
//第二种方式 (module 的 config 方法中注入 $provide)
starterApp.config(['$provide',function($provide) {
// 使用provide的provider自定义服务(返回对象,字符串,服务,且必须通过$get方法返回)
$provide.provider('getUserAddressService', function(){
var _userAddress = '';
var service = {};
this.$get = function(){
service.setAddress = function (userAddress){
_userAddress = userAddress;
}
service.getAddress = function (){
return _userAddress;
}
return service;
}
});
// 使用provide的factory自定义服务(返回对象,服务,字符串)
$provide.factory('serviceName1', ['$http', function($http){
// var service = {};
// service.getName = function (){
// return '张三';
// }
// return service;
// 
return "啊飒飒大";
}]);
// 使用provide的service自定义服务(返回对象,服务)
$provide.service('serviceName2', ['$http', function($http){
// return {
// 'name':'aa'
// };
//可直接通过this定义方法
this.getName = function (){
return '张三';
}
}])
}]);
//第三种方式(module 的 provider、service、factory 方法 推荐第三种)
starterApp.provider('serviceName3',function(){
this.$get = function (){
return '直接通过module的provider方法定义服务';
}
});
starterApp.factory('serviceName4',function(){
return '直接通过module的factory方法定义服务';
});
starterApp.service('serviceName5',function(){
return {
'message':'直接通过module的service方法定义服务'
}
});

以上所述是小编给大家介绍的Angularjs 自定义服务的三种方式小结,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
弹出广告特效(一个IP只弹出一次)的代码
Jul 27 Javascript
JavaScript学习笔记(十)
Jan 17 Javascript
jquery.validate使用攻略 第五步 正则验证
Jul 01 Javascript
jQuery中slideUp 和 slideDown 的点击事件
Feb 26 Javascript
jQuery配合coin-slider插件制作幻灯片效果的流程解析
May 13 Javascript
js获取对象、数组的实际长度,元素实际个数的实现代码
Jun 08 Javascript
iframe中使用jquery进行查找的方法【案例分析】
Jun 17 Javascript
requirejs按需加载angularjs文件实例
Jun 08 Javascript
vue计算属性get和set用法示例
Feb 08 Javascript
vue登录页面cookie的使用及页面跳转代码
Jul 10 Javascript
Vue.js获取手机系统型号、版本、浏览器类型的示例代码
May 10 Javascript
详解Vue的列表渲染
Nov 20 Vue.js
AngularJS基础 ng-keypress 指令简单示例
Aug 02 #Javascript
javascript将中国数字格式转换成欧式数字格式的简单实例
Aug 02 #Javascript
AngularJS基础 ng-keydown 指令简单示例
Aug 02 #Javascript
AngularJs自定义服务之实现签名和加密
Aug 02 #Javascript
浅谈Cookie的生命周期问题
Aug 02 #Javascript
jQuery实现的兼容性浮动层示例
Aug 02 #Javascript
AngularJS基础 ng-init 指令简单示例
Aug 02 #Javascript
You might like
PHP字符编码问题之GB2312 VS UTF-8解决方法
2011/06/23 PHP
使用PHP计算两个路径的相对路径
2013/06/14 PHP
php自定义中文字符串截取函数substr_for_gb2312及substr_for_utf8示例
2016/05/28 PHP
PHP获取redis里不存在的6位随机数应用示例【设置24小时过时】
2017/06/07 PHP
jQuery checkbox全选/取消全选实现代码
2009/11/14 Javascript
JavaScript Event学习第四章 传统的事件注册模型
2010/02/07 Javascript
深入理解JavaScript系列(6):S.O.L.I.D五大原则之单一职责SRP
2012/01/15 Javascript
如何设置iframe高度自适应在跨域情况下的可用方法
2013/09/06 Javascript
初始Nodejs
2014/11/08 NodeJs
使用JavaScript刷新网页的方法
2015/06/04 Javascript
妙用Bootstrap的 popover插件实现校验表单提示功能
2016/08/29 Javascript
JavaScript学习笔记整理_用于模式匹配的String方法
2016/09/19 Javascript
Bootstrap CDN和本地化环境搭建
2016/10/26 Javascript
JavaScript表单验证实现代码
2017/05/22 Javascript
seaJs使用心得之exports与module.exports的区别实例分析
2017/10/13 Javascript
解决vue-cli单页面手机应用input点击手机端虚拟键盘弹出盖住input问题
2018/08/25 Javascript
详解vue使用插槽分发内容slot的用法
2019/03/28 Javascript
jquery 插件重新绑定的处理方法分析
2019/11/23 jQuery
js中!和!!的区别与用法
2020/05/09 Javascript
python连接mysql并提交mysql事务示例
2014/03/05 Python
Python ORM框架SQLAlchemy学习笔记之数据查询实例
2014/06/10 Python
python通过socket查询whois的方法
2015/07/18 Python
python判断文件是否存在,不存在就创建一个的实例
2019/02/18 Python
django框架使用orm实现批量更新数据的方法
2019/06/21 Python
python爬虫请求头设置代码
2020/07/28 Python
html通过canvas转成base64的方法
2019/07/18 HTML / CSS
日本PLST在线商店:日本时尚杂志刊载的人气服装
2016/12/10 全球购物
澳大利亚最受欢迎的美发和美容在线商店:Catwalk
2018/12/12 全球购物
就业自荐书
2013/12/05 职场文书
中学生自我评价范文
2014/02/08 职场文书
优秀的个人求职信范文
2014/05/09 职场文书
缅怀革命先烈演讲稿
2014/05/14 职场文书
2014幼儿园教师师德师风演讲稿
2014/09/10 职场文书
2014旅游局党组书记党建工作汇报材料
2014/11/02 职场文书
Nginx四层负载均衡的配置指南
2021/06/11 Servers
PYTHON基于Pyecharts绘制常见的直角坐标系图表
2022/04/28 Python