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 相关文章推荐
JavaScript 组件之旅(二)编码实现和算法
Oct 28 Javascript
超简单的jquery的AJAX用法
May 10 Javascript
js获取RadioButtonList的Value/Text及选中值等信息实现代码
Mar 05 Javascript
Jquery 实现图片轮换
Jan 28 Javascript
jquery实现无限分级横向导航菜单的方法
Mar 12 Javascript
JS实现控制表格行内容垂直对齐的方法
Mar 30 Javascript
Webpack 实现 Node.js 代码热替换
Oct 22 Javascript
AngularJS API之copy深拷贝详解及实例
Sep 14 Javascript
jQuery+Ajax请求本地数据加载商品列表页并跳转详情页的实现方法
Jul 12 jQuery
使用jQuery实现鼠标点击左右按钮滑动切换
Aug 04 jQuery
小程序scroll-view组件实现滚动的示例代码
Sep 20 Javascript
vue表单数据交互提交演示教程
Nov 13 Javascript
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将时间差转换为字符串提示
2011/09/07 PHP
PHP __autoload()方法真的影响性能吗?
2012/03/30 PHP
PHP 动态生成静态HTML页面示例代码
2014/01/15 PHP
php通过Chianz.com获取IP地址与地区的方法
2015/01/14 PHP
利用PHP将图片转换成base64编码的实现方法
2016/09/13 PHP
php微信开发之谷歌测距
2018/06/14 PHP
js多级树形弹出一个小窗口层(非常好用)实例代码
2013/03/19 Javascript
js实现兼容IE和FF的上下层的移动
2015/05/04 Javascript
javascript获取本机操作系统类型的方法
2015/08/13 Javascript
基于JavaScript制作霓虹灯文字 代码 特效
2015/09/01 Javascript
浅述Javascript的外部对象
2016/12/07 Javascript
微信小程序开发之实现自定义Toast弹框
2017/06/08 Javascript
js实现省市级联效果分享
2017/08/10 Javascript
解决Vue.js 2.0 有时双向绑定img src属性失败的问题
2018/03/14 Javascript
js中Array对象的常用遍历方法详解
2019/01/17 Javascript
JS实现可视化音频效果的实例代码
2020/01/16 Javascript
一篇文章入门Python生态系统(Python新手入门指导)
2015/12/11 Python
python 获取指定文件夹下所有文件名称并写入列表的实例
2018/04/23 Python
Pandas 合并多个Dataframe(merge,concat)的方法
2018/06/08 Python
tesserocr与pytesseract模块的使用方法解析
2019/08/30 Python
python使用 cx_Oracle 模块进行查询操作示例
2019/11/28 Python
Django实现将views.py中的数据传递到前端html页面,并展示
2020/03/16 Python
Python基于pip实现离线打包过程详解
2020/05/15 Python
龟牌英国商店:Turtle Wax Brand Store UK
2019/07/02 全球购物
嘻哈珠宝品牌:KRKC&CO
2020/10/19 全球购物
什么是smarty? Smarty的优点是什么?
2013/08/11 面试题
应届毕业生求职信范例分享
2013/12/17 职场文书
企业厂长岗位职责
2013/12/17 职场文书
门前三包责任书
2014/04/15 职场文书
刑事申诉状范文
2015/05/20 职场文书
中秋联欢会主持词
2015/07/04 职场文书
2019垃圾分类宣传口号汇总
2019/08/16 职场文书
浅析Python中的套接字编程
2021/06/22 Python
Nginx反向代理学习实例教程
2021/10/24 Servers
基于Redis6.2.6版本部署Redis Cluster集群的问题
2022/04/01 Redis
Windows Server 2019 配置远程控制以及管理方法
2022/04/28 Servers