首页 > 编程 > JavaScript > 正文

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

2019-11-20 09:20:31
字体:
来源:转载
供稿:网友

AngularJS简介:

AngularJS 通过新的属性和表达式扩展了 HTML。

AngularJS 可以构建一个单一页面应用程序(SPAs:Single Page Applications)。

AngularJS 学习起来非常简单。

angularjs 中可通过三种($provider,$factory,$service)方式自定义服务,以下是不同的实现形式:

// 定义module , module中注入$providevar 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 自定义服务的三种方式小结,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对武林网网站的支持!

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表