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 迁移目录
Dec 18 Javascript
js AspxButton的客户端操作
Jun 26 Javascript
jQuery Mobile的loading对话框显示/隐藏方法分享
Nov 26 Javascript
检查输入的是否是数字使用keyCode配合onkeypress事件
Jan 23 Javascript
老生常谈JavaScript 正则表达式语法
Aug 20 Javascript
JSP防止网页刷新重复提交数据的几种方法
Nov 19 Javascript
javascript实现简易计算器
Feb 01 Javascript
详解用vue-cli来搭建vue项目和webpack
Apr 20 Javascript
JS库之Waypoints的用法详解
Sep 13 Javascript
Three.js如何用轨迹球插件(trackball)增加对模型的交互功能详解
Sep 25 Javascript
vue router仿天猫底部导航栏功能
Oct 18 Javascript
layui实现三级导航菜单
Jul 26 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
ThinkPHP中url隐藏入口文件后接收alipay传值的方法
2014/12/09 PHP
PHP CURL 内存泄露问题解决方法
2015/02/12 PHP
php简单实现多维数组排序的方法
2016/09/30 PHP
javascript 常用关键字列表集合
2007/12/04 Javascript
jQuery之end()和pushStack()使用介绍
2012/02/07 Javascript
js计算精度问题小结
2013/04/22 Javascript
jQuery中$this和$(this)的区别介绍(一看就懂)
2015/07/06 Javascript
最简单的JavaScript图片轮播代码(两种方法)
2015/12/18 Javascript
javascript实现的猜数小游戏完整实例代码
2016/05/10 Javascript
动态的9*9乘法表效果的实现代码
2016/05/16 Javascript
Actionscript与javascript交互实例程序(修改)
2016/09/22 Javascript
node使用Koa2搭建web项目的方法
2017/10/17 Javascript
JS与SQL方式随机生成高强度密码示例
2018/12/29 Javascript
微信小程序五子棋游戏的棋盘,重置,对弈实现方法【附demo源码下载】
2019/02/20 Javascript
JavaScript高阶教程之“==”隐藏下的类型转换
2019/04/11 Javascript
微信小程序使用echarts获取数据并生成折线图
2019/10/16 Javascript
Python Web开发模板引擎优缺点总结
2014/05/06 Python
python统计cpu利用率的方法
2015/06/02 Python
详解python上传文件和字符到PHP服务器
2017/11/24 Python
Django 实现下载文件功能的示例
2018/03/06 Python
用Q-learning算法实现自动走迷宫机器人的方法示例
2019/06/03 Python
python创建属于自己的单词词库 便于背单词
2019/07/30 Python
pytorch 批次遍历数据集打印数据的例子
2019/12/30 Python
Python单元测试模块doctest的具体使用
2020/02/10 Python
python GUI库图形界面开发之PyQt5中QWebEngineView内嵌网页与Python的数据交互传参详细方法实例
2020/02/26 Python
联想台湾官网:Lenovo TW
2018/05/09 全球购物
如何用Lucene索引数据库
2016/02/23 面试题
教导主任竞聘演讲稿
2014/05/16 职场文书
学习之星事迹材料
2014/05/17 职场文书
留学生求职信
2014/06/03 职场文书
分公司经理任命书
2014/06/05 职场文书
2014年客户经理工作总结
2014/11/20 职场文书
七一建党节慰问信
2015/02/14 职场文书
年中了,该如何写好个人述职报告?
2019/07/02 职场文书
如何用Node.js编写内存效率高的应用程序
2021/04/30 Javascript
MySQL磁盘碎片整理实例演示
2022/04/03 MySQL