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压缩工具:X2JSCompactor
Jun 13 Javascript
JavaScript中的Screen屏幕对象
Jan 16 Javascript
在Google 地图上实现做的标记相连接
Jan 05 Javascript
BootstrapTable与KnockoutJS相结合实现增删改查功能【二】
May 10 Javascript
React创建组件的三种方式及其区别
Jan 12 Javascript
javascript操作cookie
Jan 17 Javascript
Ionic2开发环境搭建教程
Aug 20 Javascript
js实现图片局部放大效果详解
Mar 18 Javascript
js实现上下左右键盘控制div移动
Jan 16 Javascript
JavaScript canvas绘制折线图
Feb 18 Javascript
JavaScript实现刮刮乐效果
Nov 01 Javascript
Vue SPA 首屏优化方案
Feb 26 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
通过html表格发电子邮件
2006/10/09 PHP
用PHP和ACCESS写聊天室(四)
2006/10/09 PHP
thinkPHP的Html模板标签使用方法
2012/11/13 PHP
php根据日期判断星座的函数分享
2014/02/13 PHP
[原创]php逐行读取txt文件写入数组的方法
2015/07/02 PHP
PHP获取昨天、今天及明天日期的方法
2016/02/03 PHP
Jquery实现图片左右自动滚动示例
2013/09/25 Javascript
node.js中Socket.IO的进阶使用技巧
2014/11/04 Javascript
Javascript进制转换实例分析
2015/05/14 Javascript
JS+CSS实现下拉列表框美化效果(3款)
2015/08/15 Javascript
jquery实现平滑的二级下拉菜单效果
2015/08/26 Javascript
JavaScript代码轻松实现网页内容禁止复制(代码简单)
2015/10/23 Javascript
基于javascript实现按圆形排列DIV元素(一)
2016/12/02 Javascript
Bootstrap多级菜单的实现代码
2017/05/23 Javascript
Vue中引入样式文件的方法
2017/08/18 Javascript
vue2.0 elementUI制作面包屑导航栏
2018/02/22 Javascript
JS实现判断图片是否加载完成的方法分析
2018/07/31 Javascript
如何在微信小程序中实现Mixins方案
2019/06/20 Javascript
javascript History对象原理解析
2020/02/17 Javascript
在 Django/Flask 开发服务器上使用 HTTPS
2014/07/03 Python
python安装以及IDE的配置教程
2015/04/29 Python
python通过openpyxl生成Excel文件的方法
2015/05/12 Python
分享Python字符串关键点
2015/12/13 Python
Python队列的定义与使用方法示例
2017/06/24 Python
python二维列表一维列表的互相转换实例
2018/07/02 Python
python 读取目录下csv文件并绘制曲线v111的方法
2018/07/06 Python
python实现自动获取IP并发送到邮箱
2018/12/26 Python
利用OpenCV中对图像数据进行64F和8U转换的方式
2020/06/03 Python
美国Randolph太阳镜官网:美国制造的飞行员太阳镜和射击眼镜
2018/06/15 全球购物
Linux管理员面试题 Linux admin interview questions
2016/07/08 面试题
环境科学专业个人求职的自我评价
2013/11/28 职场文书
关于爱情的广播稿
2014/01/16 职场文书
党员批评与自我批评
2014/02/12 职场文书
《纸船和风筝》教学反思
2014/02/15 职场文书
html+css实现分层金字塔的实例
2021/06/02 HTML / CSS
Selenium浏览器自动化如何上传文件
2022/04/06 Python