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 相关文章推荐
js获取控件位置以及不同浏览器中的差别介绍
Aug 08 Javascript
javascript 构造函数方式定义对象
Jan 02 Javascript
JS实现的网页背景闪电闪烁效果代码
Oct 17 Javascript
js ajaxfileupload.js上传报错的解决方法
May 05 Javascript
原生js获取元素样式的简单方法
Aug 06 Javascript
jQuery实现微信长按识别二维码功能
Aug 26 Javascript
关于js对textarea换行符的处理方法浅析
Aug 03 Javascript
微信小程序开发之路由切换页面重定向问题
Sep 18 Javascript
JS实现图片拖拽交换效果
Nov 30 Javascript
详解element上传组件before-remove钩子问题解决
Apr 08 Javascript
Vue项目vscode 安装eslint插件的方法(代码自动修复)
Apr 15 Javascript
微信小程序实现点赞业务
Feb 10 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初学者们头痛的十四个问题
2007/01/15 PHP
用phpmyadmin更改mysql5.0登录密码
2008/03/25 PHP
php中禁止单个IP与ip段访问的代码小结
2012/07/04 PHP
浅谈php中mysql与mysqli的区别分析
2013/06/10 PHP
linux实现php定时执行cron任务详解
2013/12/24 PHP
TopList标签和JavaScript结合两例
2007/08/12 Javascript
JavaScript获取GridView选择的行内容
2009/04/14 Javascript
用js做一个小游戏平台 (一)
2009/12/29 Javascript
Mongoose经常返回e11000 error的原因分析
2017/03/29 Javascript
微信小程序页面间通信的5种方式
2017/03/31 Javascript
Express + Session 实现登录验证功能
2017/09/08 Javascript
基于vue.js 2.x的虚拟滚动条的示例代码
2018/01/23 Javascript
Angular入口组件(entry component)与声明式组件的区别详解
2018/04/09 Javascript
简单了解JS打开url的方法
2020/02/21 Javascript
[40:31]Secret vs Alliacne 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
Django Admin实现上传图片校验功能
2016/03/06 Python
Python实现简单过滤文本段的方法
2017/05/24 Python
python使用tkinter实现简单计算器
2018/01/30 Python
Java编程迭代地删除文件夹及其下的所有文件实例
2018/02/10 Python
Windows下python3.7安装教程
2018/07/31 Python
深入解析Python小白学习【操作列表】
2019/03/23 Python
python文件写入write()的操作
2019/05/14 Python
Python2比较当前图片跟图库哪个图片相似的方法示例
2019/09/28 Python
Python搭建代理IP池实现获取IP的方法
2019/10/27 Python
Python Opencv轮廓常用操作代码实例解析
2020/09/01 Python
css3使用animation属性实现炫酷效果(推荐)
2020/02/04 HTML / CSS
英国美发和美容产品商城:HQhair
2019/02/08 全球购物
武汉高蓝德国际.net机试
2016/06/24 面试题
制药工程专业毕业生推荐信
2013/12/24 职场文书
机关财务管理制度
2014/01/17 职场文书
推广活动策划方案
2014/08/23 职场文书
2014年党风廉政工作总结
2014/12/03 职场文书
幼儿园教师自我评价
2015/03/04 职场文书
开学典礼致辞
2015/07/29 职场文书
Pygame如何使用精灵和碰撞检测
2021/11/17 Python
Java 数据结构七大排序使用分析
2022/04/02 Java/Android