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方法定义服务'

}

});

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 我们可以通过factory,service,value这三种方式来自定义服务。 自定义服务与我们之前学的自定义指令...
    不要和我名字一样阅读 4,340评论 0 11
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,153评论 19 139
  • AngularJS是什么?AngularJs(后面就简称ng了)是一个用于设计动态web应用的结构框架。首先,它是...
    200813阅读 5,581评论 0 3
  • AngularJSAngularJS 是一个 MV* 框架, 最适于开发客户端的单页面应用。它不是个功能库,...
    一直以来都很好阅读 4,398评论 0 0
  • 开公交车的人开着公交车。 一车人被使劲地塞在这小小的空间里,挤得喘不过气来。车窗外的太阳仿佛浑然不觉闷热,似笑非笑...
    憩柒阅读 2,394评论 2 1

友情链接更多精彩内容