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 相关文章推荐
给moz-firefox下添加IE方法和属性
Apr 10 Javascript
javascript Array.sort() 跨浏览器下需要考虑的问题
Dec 07 Javascript
理解Javascript_09_Function与Object
Oct 16 Javascript
关于编写性能高效的javascript事件的技术
Nov 28 Javascript
Vue学习笔记进阶篇之单元素过度
Jul 19 Javascript
Vue2.0如何发布项目实战
Jul 27 Javascript
AngularJs的UI组件ui-Bootstrap之Tooltip和Popover
Jul 13 Javascript
Node.js连接Sql Server 2008及数据层封装详解
Aug 27 Javascript
微信小程序使用map组件实现检索(定位位置)周边的POI功能示例
Jan 23 Javascript
JS对象和字符串之间互换操作实例分析
Feb 02 Javascript
微信小程序实现电子签名并导出图片
May 27 Javascript
一定要知道的 25 个 Vue 技巧
Nov 02 Vue.js
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
ThinkPHP3.1新特性之查询条件预处理简介
2014/06/19 PHP
PHP依赖倒置(Dependency Injection)代码实例
2014/10/11 PHP
浅析php适配器模式(Adapter)
2014/11/25 PHP
php 读取文件夹下所有图片、文件的实例
2018/10/17 PHP
PHP 模拟登陆功能实例详解
2019/09/10 PHP
JQuery 将元素显示在屏幕的中央的代码
2010/02/27 Javascript
js动态移动滚动条至底部示例代码
2014/04/24 Javascript
jQuery移动web开发之页面跳转和加载外部页面的实现
2015/12/04 Javascript
jQuery Mobile和HTML5开发App推广注册页
2016/11/07 Javascript
Vue中保存用户登录状态实例代码
2017/06/07 Javascript
详解JS数值Number类型
2018/02/07 Javascript
实例分析Array.from(arr)与[...arr]到底有何不同
2019/04/09 Javascript
简单了解TypeScript中如何继承 Error 类
2019/06/21 Javascript
关于vue 项目中浏览器跨域的配置问题
2020/11/10 Javascript
vue中使用echarts的示例
2021/01/03 Vue.js
Python 返回汉字的汉语拼音
2009/02/27 Python
python字典基本操作实例分析
2015/07/11 Python
深入解读Python解析XML的几种方式
2016/02/16 Python
Python抓取电影天堂电影信息的代码
2016/04/07 Python
Python入门之三角函数全解【收藏】
2017/11/08 Python
python得到qq句柄,并显示在前台的方法
2018/10/14 Python
Python拼接字符串的7种方法总结
2018/11/01 Python
浅谈Python中的全局锁(GIL)问题
2019/01/11 Python
Python创建字典的八种方式
2019/02/27 Python
python如何读取bin文件并下发串口
2019/07/05 Python
python 使用装饰器并记录log的示例代码
2019/07/12 Python
Django CBV与FBV原理及实例详解
2019/08/12 Python
Python3安装pip工具的详细步骤
2019/10/14 Python
使用python实现数组、链表、队列、栈的方法
2019/12/20 Python
英国电信商店:BT Shop
2019/12/17 全球购物
学院书画协会部门职责
2013/11/28 职场文书
小学生学习感言
2014/03/10 职场文书
项目投资合作意向书
2014/07/29 职场文书
病假条格式范文
2015/08/17 职场文书
2016年党校科级干部培训班学习心得体会
2016/01/06 职场文书
Java 超详细讲解十大排序算法面试无忧
2022/04/08 Java/Android