$provide里factory、service方法

服务提供了一种能在应用的整个生命周期内保持数据的方法,它能够在控制器之间进行通信,并且能保证数据的一致性。

2、angularjs自定义服务{{name}}

1、注册一个服务

使用angular.module的factory API创建服务,是最常见也是最灵活的方式

1

2

3

4

5

6

7

8

9

10

var myApp = angular.module(‘myApp’, []);

myApp.service(‘service1’, function(){

return [1,2,3,4,5,6];

});

myApp.factory(‘factory1’, function(){

return "111";

});

 2、使用服务

可以在控制器、指令、过滤器或另外一个服务中通过依赖声明的方式来使用服务。AngularJS会像平时一样在运行期自动处理实例化和依赖加载的相关事宜。

var myApp = angular.module(‘myApp’, [] , function($provide){// 1、通过$provide.provider自定义服务$provide.provider(‘provider’,function(){this.$get = function(){return {message: ‘xiaoguoping’}}});//console.log(1);$provide.provider(‘provider2’,function(){this.$get = function(){return {message: ‘xiaoguoping2’}}});// 2、通过$provide.service自定义服务$provide.service(‘service1’, function(){return [1,2,3,4,5,6];});// 3、通过$provide.factory自定义工厂$provide.factory(‘factory1’, function(){return "111";});// 3、通过$provide.factory自定义工厂$provide.factory(‘factory1’, function(){return "111";});});// 自定义的服务均可被其他服务调用,入controller.myApp.controller(‘firstController’, function($scope , provider, provider2, service1, factory1){$scope.name = ‘张三’;console.log(provider);console.log(provider2);console.log(service1);console.log(factory1);});在AngularJS应用中,factory()方法是用来注册服务的最常规方式,同时还有其他一些AP可以在特定情况下帮助我们减少代码量。共有5种方法用来创建服务:

 factory()—-函数可以返回简单类型、函数乃至对象等任意类型的数据 service()—–函数数组、对象等数据 constant()—-value()方法和constant()方法之间最主要的区别是,,常量可以注入到配置函数中,而值不行。 value()—–如果服务的$get方法返回的是一个常量,那就没要必要定义一个包含复杂功能的完整服务,可以通过value()函数方便地注册服务。 provider()—-提供者是一个具有$get()方法的对象,$injector通过调用$get方法创建服务实例。

版权声明:本文为博主原创文章,未经博主允许不得转载。

旅游,放松心情,用眼睛享受风景。

$provide里factory、service方法

相关文章:

你感兴趣的文章:

标签云: