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 相关文章推荐
html数组字符串拼接的最快方法
Sep 16 Javascript
类似php的js数组的in_array函数自定义方法
Dec 27 Javascript
JQuery中节点遍历方法实例
May 18 Javascript
jQuery自动添加表单项的方法
Jul 13 Javascript
uploadify多文件上传参数设置技巧
Nov 16 Javascript
Vuejs第九篇之组件作用域及props数据传递实例详解
Sep 05 Javascript
jQuery使用正则表达式替换dom元素标签用法示例
Jan 16 Javascript
Ajax跨域实现代码(后台jsp)
Jan 21 Javascript
JS实现的JSON序列化操作简单示例
Jul 02 Javascript
vue 地图可视化 maptalks 篇实例代码详解
May 21 Javascript
浅谈vue中使用编辑器vue-quill-editor踩过的坑
Aug 03 Javascript
vant-ui框架的一个bug(解决切换后onload不触发)
Nov 11 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
一个简洁的多级别论坛
2006/10/09 PHP
php中ltrim()、rtrim()与trim()删除字符空格实例
2014/11/25 PHP
php模拟post提交数据的方法
2015/02/12 PHP
php实现屏蔽掉黑帽SEO的搜索关键字
2015/04/15 PHP
谈谈PHP中substr和substring的正确用法及相关参数的介绍
2015/12/16 PHP
php数组分页实现方法
2016/04/30 PHP
Mac系统下安装PHP Xdebug
2018/03/30 PHP
PHP获取当前系统时间的方法小结
2018/10/03 PHP
JavaScript 处理Iframe自适应高度(同或不同域名下)
2013/03/29 Javascript
JavaScript作用域链使用介绍
2013/08/29 Javascript
如何在JavaScript中实现私有属性的写类方式(二)
2013/12/04 Javascript
javascript实现仿腾讯游戏选择
2015/05/14 Javascript
JQuery zClip插件实现复制页面内容到剪贴板
2015/11/02 Javascript
jquery自适应布局的简单实例
2016/05/28 Javascript
JavaScript实现的贝塞尔曲线算法简单示例
2018/01/30 Javascript
vue导出html、word和pdf的实现代码
2018/07/31 Javascript
p5.js实现故宫橘猫赏秋图动画
2019/10/23 Javascript
vant-ui框架的一个bug(解决切换后onload不触发)
2020/11/11 Javascript
[01:03:47]VP vs NewBee Supermajor 胜者组 BO3 第一场 6.5
2018/06/06 DOTA
理解Python中函数的参数
2015/04/27 Python
python计算时间差的方法
2015/05/20 Python
python3操作mysql数据库的方法
2017/06/23 Python
Python3中在Anaconda环境下安装basemap包
2018/10/21 Python
Python基本数据结构之字典类型dict用法分析
2019/06/08 Python
python虚拟环境的安装和配置(virtualenv,virtualenvwrapper)
2019/08/09 Python
PyQt5+Caffe+Opencv搭建人脸识别登录界面
2019/08/28 Python
python3.8与pyinstaller冲突问题的快速解决方法
2020/01/16 Python
python 实现两个线程交替执行
2020/05/02 Python
解析Tensorflow之MNIST的使用
2020/06/30 Python
Parfume Klik丹麦:香水网上商店
2018/07/10 全球购物
愚人节活动策划方案
2014/03/11 职场文书
体育专业大学生职业生涯规划范文:打造自己的运动帝国
2014/09/12 职场文书
感谢信格式范文
2015/01/22 职场文书
外科护士长工作总结
2015/08/12 职场文书
PHP 对接美团大众点评团购券(门票)的开发步骤
2021/04/03 PHP
Win10开机修复磁盘错误怎么跳过?Win10关闭开机磁盘检查的方法
2022/09/23 数码科技