角怎么创建服务

  介绍

这篇文章将为大家详细讲解有关角怎么创建服务,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

配置配置块

角应用的运行主要分为两部分:app.config()和app.run(),配置是你设置任何的提供者的阶段,从而使应用可以使用正确的服务,需要注意的是在配置块中只有供应商能被注入(只有两个例外是提供和注射器)美元。而且提供者也只能在配置中注入.Angular注入服务的5种方式中,只有通过提供者和常数注入的服务可以在依赖到配置中。

app.controller (& # 39; MyController& # 39;,, function  (httpProvider美元),{//错误,无法在控制器中注入服务提供者   });   美元app.config (function  (http), {//错误,配置块中只能注入服务   });

相关推荐:《angularjs教程》

关于一些内置的服务

控制器函数是可以被注入的,但是控制器本身是不能被注入到任何东西里面去的,然而,有一个内建的angularjs服务叫美元做控制器,它负责设置你的控制器,调用myMod.controller(…)时,你实际上是访问了这个服务的提供者。

代码:

myMod.controller (& # 39; MainController& # 39;,,函数(范围),{//,才能……   });

实际上做了以下事情:

myMod.config(函数(controllerProvider美元),{   美元才能controllerProvider.register (& # 39; MainController& # 39;,,函数(范围),{//,…   ,,});   });

类似的还和指令有过滤器,过滤器会使用一个叫美元做过滤器的服务以及它的提供者filterProvider美元,而指令使用一个叫美元做编译的服务以及它的提供者compileProvidr美元。

服务的5中注入方式工厂()

依赖注入器将使工厂用函数创建服务的实例,工厂函数返回一个对象。

myModule.factory (& # 39; myservice # 39;,, function  (), {   var  myService =, {};//添加myService的一些属性和方法   return  myService;   });服务()

服务注入通过传递一个函数给服务,然后使用javascript的新操作生成一个服务,也就是说将属性附加到这上即可,使用这个方法要小心javascript的这个陷阱,这并不总是指向执行函数本身,也可能指向顶级对象窗口。

myModule.service (& # 39; myservice # 39;,, function  (), {   时间=this.foo  & # 39;酒吧# 39;;   });提供者()

实际上以上我们提到的工厂和服务被实现为供应商上的语法糖,通过提供者注入的服务可以作为提供者在配置块中使用,另外供应商必须实现一个美元得到属性。

myMod.provider(& # 39;问候# 39;,,()函数,{   var 才能;text =, & # 39;你好,,& # 39;;      时间=this.setText 才能;函数(值),{   ,,,,text =,价值;   ,,};      这才能。get 美元;=,()函数,{   ,,,,return 函数(名字),{,,//美元得到必须实现,可以返回一个函数或者一个对象   ,,,,,,,,警报(时间+ text 名称);   ,,,,};   ,,};   });      myMod.config(函数(greetingProvider), {   greetingProvider.setText才能(“Howdy 在那里,,,);   });      myMod.run(函数(问候),{   问候才能(& # 39;Ford 完善# 39;);   });
常数(名称、值)

恒定主要用于注册一个常量,值是一个值或者json对象,通常这个常量主要用于配置经常使用的数据,常配置的服务可以注入到配置。

angular.module (& # 39; myapp # 39;,, [])   .constant (& # 39; apikey # 39;,, & # 39; 123123123 & # 39;)   过程(函数(apiKey), {//,在这里apiKey将被赋值为123123123//,就像上面设置的那样   })
价值(名称、值)

价值主要用于存放一些数据或方法以供使用,如果这个数据或方法需要被修改,就用价值来创建服务,其中参数的值是一个值或者json对象。另外它不能够依赖到配置中,,

serviceApp.value (& # 39; myConfig& # 39;, {   ,,,的名字:& # 39;code_bunny& # 39;   ,,,年龄:12岁   ,,,getId:函数(){   ,,,,,,,return  1   ,,,}   });

关于“角怎么创建服务”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看的到。

角怎么创建服务