更新时间:2021-11-23 来源:黑马程序员 浏览量:
在AngularJS中,服务是一个可以在AngularJS应用中使用的函数或对象,是对公共功能代码的抽取。例如,多个控制器中出现了相同的代码,那么便可以把它提取出来,封装成一个服务。
因为服务能够达到代码复用的目的,所以建议将控制器、指令中的业务逻辑都封装到服务中去。服务的概念通常与依赖注入紧密相关,通过依赖注入的方式可以把服务注入模块、控制器和其他服务中。依赖注入要求对象是单例的,所以服务通常都是单例的,并且在需要的时候才会被$injector实例化。
AngularJS提供了如下几种创建服务的方式。
·使用provider()函数创建服务(提供者):使用一个具有$get()的构造函数定义服务,然后使用模块的provider()函数进行登记,返回服务实例。
理解依赖注入需要注意几个关键问题,具体如下。
·谁依赖于谁:用户对象依赖于IoC容器。
·为什么需要依赖:用户对象需要IoC容器来提供自己需要的外部资源。
·谁注入谁:IoC容器向用户对象注入用户对象所依赖的对象。
·注入了什么内容:注入用户对象所需要的外部资源。
在依赖注入中,被注入的对象都是单例对象,创建一个对象后便可以在程序中一直使用它。
【AI设计】北京143期毕业仅36天,全员拿下高薪offer!黑马AI设计连续6期100%高薪就业
2025-09-19【跨境电商运营】深圳跨境电商运营毕业22个工作日,就业率91%+,最高薪资达13500元
2025-09-19【AI运维】郑州运维1期就业班,毕业14个工作日,班级93%同学已拿到Offer, 一线均薪资 1W+
2025-09-19【AI鸿蒙开发】上海校区AI鸿蒙开发4期5期,距离毕业21天,就业率91%,平均薪资14046元
2025-09-19【AI大模型开发-Python】毕业33个工作日,就业率已达到94.55%,班均薪资20763元
2025-09-19【AI智能应用开发-Java】毕业5个工作日就业率98.18%,最高薪资 17.5k*13薪,全班平均薪资9244元
2025-09-19