在之前章节我们的示例代码中,大量功能代码均写在 Controller 中,不仅使代码不易于维护,也降低了代码的可复用性。
如果将一类数据作为一个服务提供,则可解决此问题。
例如,可为“用户”创建一个服务,所有有关“用户”的操作都封装在此服务中。
先来看看如何用 service 创建自定义服务。
来分析一下这段代码:
用 app.service() 创建了一个名为“myService”的服务,第一个参数为要创建的服务的名字,第二个参数为服务的具体实现。这段代码实际上是定义了一个名为“myService” class。
在 app.controller() 的第二个参数 function 中,声明要使用“myService”这个服务,实际上是创建了一个“myService” class 的实例。
参考下面这段代码,与上面的代码是等效的:
这是一个对我们系统的用户进行管理的例子。将所有用户展示出来,每条用户数据后面有个“删除”按钮,点击后能将该条用户数据删除。
从以上代码可以看出,Controller 中的代码要简洁多了。在 Controller 中不用关心服务的具体实现,只需调用服务所提供的方法即可。