首页 > 编程知识 正文

angular怎么读,contentprovider详解

时间:2023-05-05 01:19:57 阅读:157658 作者:4419

/*

提供程序可以封装。 但是,value factory服务常数除外。 提供程序需要$get方法

使用提供程序时,无法单独配置。 要创建提供程序,请在config中使用angular

只能注入提供服务的APP服务商,但由于angualr提供了$provide,所以在使用provider时要注入config

的是$provide,需要从$provider创建provider

provider是唯一可以创建要注入config ()函数的服务的方法。 如果您希望在您的服务启动之前进行一些模块化配置,请使用提供程序。

$provide服务器负责告诉Angular如何创建新的可注入的东西,即服务器。 服务由称为提供程序的内容定义,您可以使用$provide创建提供程序。 必须使用$provide的provider ) )方法定义提供程序。 还可以通过请求将$provide注入APP应用程序的config函数来获得$provide服务。 使用方法是返回$get函数。 请注意,在config阶段,只有提供商可以注入。

*/

//注册模块

var app=angular.module("app",[]);

//向控制器注入value对象

app.controller("myCtrl",function($scope,myProvider,greeting){

myProvider.f("我是 provider");

console.log(myProvider.num);

greeting("greeting");

});

app.provider("myProvider",function(){

this.number='123';

//provider创建服务时,控制器唯一可以访问的属性和方法是由$get ()函数返回的属性和方法。 上面的代码将$get添加到this之上,最终返回此函数。

this.$get=function(){ //必须要有

var n=this.number;

return {

f:function(name){

console.log("heler"+name);

},

num:n};

}

});

使用provider创建服务的目的是为了可以在myApp.config )函数中修改一些变量并将其传递给最终项目。 可以在myApp.config中更改number的值,因为可以更改的变量必须位于this上

应该注意的是,不注入//提供商的情况下,在config中只能交付提供服务的提供商,此时在用户中,如果是方法的话,MyProvider就是服务。

//因此,我们在后面用驼峰命名法加上Provider,成为MyProviderProvider

//config允许注入的是provider和constance (常数),run允许注入的是provider和constant,可以是factory、service、value

app.config(function(myProviderProvider){

console.log(myProviderProvider)//{number: "123", $get: } config中的内容先输出

myProviderProvider.number="我是改过后的值";

console.log(myProviderProvider);

});

//注入provider

app.config(function($provide){

//console.log($provide)//{provider: , factory: , service: , value: , constant: ,…}

$provide.provider('greeting',function(){ //通过$provide.provider()进行自定义服务

this.$get = function() {

return function(name) {

console.log("Hello," + name);

};

};

});

});

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。