接着上篇说,现在我们已经可以熟练运用angular为我们提供的一些内置服务了。但是,人总是要突破创新的嘛,老是用“内建服务”多没意思啊。干脆我们来做一些更加刺激和有意义的事情,让我们的编程学习充满激情与挑战。
这节我们就来具体看看如何去创建服务。
一、创建服务:
AngularJS有很多内置的服务,但是如果你要创建一个很棒的应用,你可能还是要写自己的服务。你可以通过在模块中注册一个服务工场函数,或者通过Modeul#factoryapi或者直接通过模块配置函数中的$provideapi来实现。
所有的服务都符合依赖注入的原则。它们用一个唯一的名字将自己注册进AngularJS的依赖注入系统(injector),并且声明需要提供给工场函数的依赖。它们的依赖在测试中可以是虚拟的,这使得它们能很好地被测试。
①注册服务:要注册服务,你首先要有一个包含该服务的模块。然后你就能通过模块的api或者使用模块配置函数中的$provide服务来注册你的服务了。下面的伪代码显示了这两种方法。
方式一:使用angular.Module api:
1 |
var myModule = angular.module('myModule' , []); |