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 相关文章推荐
返回页面顶部top按钮通过锚点实现(自写)
Aug 30 Javascript
jquery访问ashx文件示例代码
Aug 11 Javascript
JS简单获取及显示当前时间的方法
Aug 03 Javascript
JS+HTML5实现的前端购物车功能插件实例【附demo源码下载】
Oct 17 Javascript
js实现右键自定义菜单
Dec 03 Javascript
bootstrap栅格系统示例代码分享
May 22 Javascript
基于bootstrop常用类总结(推荐)
Sep 11 Javascript
JS二分查找算法详解
Nov 01 Javascript
微信小程序实现之手势锁功能实例代码
Jul 19 Javascript
详解Webpack多环境代码打包的方法
Aug 03 Javascript
IE8中jQuery.load()加载页面不显示的原因
Nov 15 jQuery
微信小程序工具函数封装
Oct 28 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与javascript的两种交互方式
2006/10/09 PHP
php 网页播放器用来播放在线视频的代码(自动判断并选择视频文件类型)
2010/06/03 PHP
php中$_POST与php://input的区别实例分析
2015/01/07 PHP
微信公众平台开发(五) 天气预报功能开发
2016/12/03 PHP
php实现生成带二维码图片并强制下载功能
2018/02/24 PHP
PHP面向对象程序设计中的self、static、parent关键字用法分析
2019/08/14 PHP
比较全面的event对像在IE与FF中的区别 推荐
2009/09/21 Javascript
JS实现模拟风力的雪花飘落效果
2015/05/13 Javascript
图解Sublime Text3使用技巧
2015/12/21 Javascript
js addDqmForPP给标签内属性值加上双引号的函数
2016/12/24 Javascript
微信小程序微信支付接入开发实例详解
2017/04/12 Javascript
JavaScript实现前端实时搜索功能
2020/03/26 Javascript
vue-router3.0版本中 router.push 不能刷新页面的问题
2018/05/10 Javascript
JS求1到任意数之间的所有质数的方法详解
2019/05/20 Javascript
微信小程序图片左右摆动效果详解
2019/07/13 Javascript
layui 解决富文本框form表单提交为空的问题
2019/10/26 Javascript
深入讲解Java编程中类的生命周期
2016/02/05 Python
Python爬虫包 BeautifulSoup  递归抓取实例详解
2017/01/28 Python
Python基于回溯法子集树模板解决全排列问题示例
2017/09/07 Python
详解Python数据分析--Pandas知识点
2019/03/23 Python
Python任意字符串转16, 32, 64进制的方法
2019/06/12 Python
Python封装成可带参数的EXE安装包实例
2019/08/24 Python
python hashlib加密实现代码
2019/10/17 Python
python3图片文件批量重命名处理
2019/10/31 Python
python编写一个会算账的脚本的示例代码
2020/06/02 Python
Python文件操作模拟用户登陆代码实例
2020/06/09 Python
Python如何批量生成和调用变量
2020/11/21 Python
CSS3实现翘边的阴影效果的代码示例
2016/06/13 HTML / CSS
Canvas globalCompositeOperation
2018/12/18 HTML / CSS
香港最大的洋酒零售连锁店:屈臣氏酒窖(Watson’s Wine)
2018/12/10 全球购物
沙特阿拉伯家用电器和电子产品购物网站:Sheta and Saif
2020/04/03 全球购物
班主任工作年限证明
2014/01/12 职场文书
技术经济专业求职信
2014/09/03 职场文书
单位单身证明样本
2014/10/11 职场文书
使用Selenium实现微博爬虫(预登录、展开全文、翻页)
2021/04/13 Python
idea以任意顺序debug多线程程序的具体用法
2021/08/30 Java/Android