这篇文章将为大家详细讲解有关角怎么创建服务,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
配置配置块
角应用的运行主要分为两部分: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 ,,,} });
关于“角怎么创建服务”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看的到。