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 相关文章推荐
DOM下的节点属性和操作小结
May 14 Javascript
jQuery之网页换肤实现代码
Apr 30 Javascript
jquery中ajax学习笔记3
Oct 16 Javascript
文字溢出实现溢出的部分再放入一个新生成的div中具体代码
May 17 Javascript
js控制table合并具体实现
Feb 20 Javascript
javascript几个易错点记录
Nov 26 Javascript
javascript深拷贝和浅拷贝详解
Feb 14 Javascript
Bootstrap table右键功能实现方法
Feb 20 Javascript
浅谈JS函数节流防抖
Oct 18 Javascript
JQuery animate动画应用示例
May 14 jQuery
js实现计时器秒表功能
Dec 16 Javascript
原生JS实现天气预报
Jun 16 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 长文章分页函数 带使用方法,不会分割段落,翻页在底部
2009/10/22 PHP
PHP定时执行任务实现方法详解(Timer)
2015/07/30 PHP
php读取qqwry.dat ip地址定位文件的类实例代码
2016/11/15 PHP
PHP通过get方法获得form表单数据方法总结
2018/09/12 PHP
PHP如何实现阿里云短信sdk灵活应用在项目中的方法
2019/06/14 PHP
JQuery与JSon实现的无刷新分页代码
2011/09/13 Javascript
Javascript对象中关于setTimeout和setInterval的this介绍
2012/07/21 Javascript
JQuery 使用attr方法实现下拉列表选中
2014/10/13 Javascript
node.js中的path.join方法使用说明
2014/12/08 Javascript
浅谈JSON.parse()和JSON.stringify()
2015/07/14 Javascript
jQuery取得iframe中元素的常用方法详解
2016/01/14 Javascript
js实现兼容PC端和移动端滑块拖动选择数字效果
2017/02/16 Javascript
jQuery.ajax向后台传递数组问题的解决方法
2017/05/12 jQuery
JavaScript实现获取用户单击body中所有A标签内容的方法
2017/06/05 Javascript
JavaScript在控件上添加倒计时功能的实现代码
2017/07/04 Javascript
Vue中的Vux配置指南
2017/12/08 Javascript
webpack写jquery插件的环境配置
2017/12/21 jQuery
jQuery中复合选择器简单用法示例
2018/03/31 jQuery
详解JS浏览器事件循环机制
2019/03/27 Javascript
详解可以用在VS Code中的正则表达式小技巧
2019/05/14 Javascript
微信小程序定义和调用全局变量globalData的实现
2019/11/01 Javascript
jQuery实现增删改查
2020/12/22 jQuery
Python类的定义、继承及类对象使用方法简明教程
2015/05/08 Python
wxpython中Textctrl回车事件无效的解决方法
2016/07/21 Python
Python爬虫实例_城市公交网络站点数据的爬取方法
2018/01/10 Python
Python实现按照指定要求逆序输出一个数字的方法
2018/04/19 Python
python 集合 并集、交集 Series list set 转换的实例
2018/05/29 Python
Python用csv写入文件_消除空余行的方法
2018/07/06 Python
django框架模板语言使用方法详解
2019/07/18 Python
python 3.74 运行import numpy as np 报错lib\site-packages\numpy\__init__.py
2019/10/06 Python
Python selenium爬虫实现定时任务过程解析
2020/06/08 Python
pandas 数据类型转换的实现
2020/12/29 Python
护理自我鉴定范文
2013/10/06 职场文书
特色蛋糕店创业计划书
2014/01/28 职场文书
获奖感言一句话
2015/07/31 职场文书
研究生毕业登记表的自我鉴定范文
2019/07/15 职场文书