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 YUI 读码日记之 YAHOO.util.Dom - Part.4
Mar 22 Javascript
不用AJAX和IFRAME,说说真正意义上的ASP+JS无刷新技术
Sep 25 Javascript
javascript document.compatMode兼容性
Feb 23 Javascript
JQuery Tab选项卡效果代码改进版
Apr 01 Javascript
Node.js中child_process实现多进程
Feb 03 Javascript
基于原生js淡入淡出函数封装(兼容IE)
Oct 20 Javascript
JS实现动态添加DOM节点和事件的方法示例
Apr 28 Javascript
vue 2.0路由之路由嵌套示例详解
May 08 Javascript
vue.js数据绑定的方法(单向、双向和一次性绑定)
Jul 13 Javascript
jQuery对底部导航进行跳转并高亮显示的实例代码
Apr 23 jQuery
将Vue组件库更换为按需加载的方法步骤
May 06 Javascript
微信小程序实现菜单左右联动
May 19 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用header函数实现301跳转代码实例
2013/11/25 PHP
ThinkPHP之import方法实例详解
2014/06/20 PHP
js操作ajax返回的json的注意问题!
2010/02/23 Javascript
js的写法基础分析
2011/01/17 Javascript
使用jquery动态加载javascript以减少服务器压力
2012/10/29 Javascript
JavaScript使用setTimeout实现延迟弹出警告框的方法
2015/04/07 Javascript
JavaScript获取数组最小值和最大值的方法
2015/06/09 Javascript
jQuery可见性过滤器:hidden和:visibility用法实例
2015/06/24 Javascript
纯JS代码实现气泡效果
2016/05/04 Javascript
浅谈js构造函数的方法与原型prototype
2016/07/04 Javascript
javascript实现鼠标点击页面 移动DIV
2016/12/02 Javascript
JavaScript箭头函数_动力节点Java学院整理
2017/06/28 Javascript
jQuery实现点击下拉框中的值累加到文本框中的方法示例
2017/10/28 jQuery
vue+element实现图片上传及裁剪功能
2020/06/29 Javascript
用vue写一个日历
2020/11/02 Javascript
python正则表达式中的括号匹配问题
2014/12/14 Python
Python 文件处理注意事项总结
2017/04/10 Python
学习python中matplotlib绘图设置坐标轴刻度、文本
2018/02/07 Python
Python模拟自动存取款机的查询、存取款、修改密码等操作
2018/09/02 Python
python3.6.3转化为win-exe文件发布的方法
2018/10/31 Python
python实现代码统计程序
2019/09/19 Python
新手学习Python2和Python3中print不同的用法
2020/06/09 Python
python 指定源路径来解决import问题的操作
2021/03/04 Python
CSS3 实现弹跳的小球动画
2020/10/26 HTML / CSS
伦敦鲜花递送:Flower Station
2021/02/03 全球购物
自我评价怎么写好呢?
2013/12/05 职场文书
读书活动实施方案
2014/03/10 职场文书
局领导领导班子四风对照检查材料
2014/09/27 职场文书
个人批评与自我批评材料
2014/10/17 职场文书
2014年乡镇纪委工作总结
2014/12/19 职场文书
2015年网管个人工作总结
2015/05/22 职场文书
唐山大地震的观后感
2015/06/05 职场文书
三下乡活动心得体会
2016/01/23 职场文书
离婚协议书范本(2016最新版)
2016/03/18 职场文书
晶体管来复再生式二管收音机
2021/04/22 无线电
MySQL深度分页(千万级数据量如何快速分页)
2021/07/25 MySQL