当前位置: 移动技术网 > IT编程>脚本编程>AngularJs > Angularjs 自定义服务的三种方式(推荐)

Angularjs 自定义服务的三种方式(推荐)

2018年05月29日  | 移动技术网IT编程  | 我要评论

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 自定义服务的三种方式小结,希望对大家有所帮助

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网