欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-11-19 19:34:51
angularjs简介: angularjs 通过新的属性和表达式扩展了 html。 angularjs 可以构建一个单一页面应用程序(spas:single...

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