美文网首页
angularjs 服务(service)

angularjs 服务(service)

作者: 杨杨1314 | 来源:发表于2017-03-13 18:17 被阅读119次

在angularjs中,服务是一个函数或者对象,使用它,需要在controller中定义。angularjs中有30多个服务。

一:angularjs内置的服务:$timeout,$http,$interval...

例如,$interval来实现显示当前时间:

$interval服务

这个例子是用$interval 时间间隔服务,首先controller中要引用该服务。其次,$interval是被当作一个函数来用的。

二:深入浅出自定义服务

在angular中为我们提供了三种不同的方式来实现自定义服务,他们分别是系统内置的$provider、module中的service和module中的factory。

1:service 是用"new"关键字实例化的。因此,应该给"this"添加属性,然后 service 返回"this"。把service 传进 controller 之后,在 controller 里 "this" 上的属性 就可以通过 service 来使用了。

service

这是一个简单的服务,相当于一个类对象,类似于php封装的一个类,在controller中引入,调用其中的函数,这个函数的相关业务逻辑在类函数中处理了。

2:系统内置的$provider 。当你想要在 service 对象启用之前,先进行模块范围的配置,那就应该用 provider.例如:

$provide

这种服务就是直接在module中注入$provide ,然后在module中依次定义对个服务。

定义单个服务的语法为:$provide.proviver

实现对象的返回语法为:this.$get =function(){...}

controller里面调用自定义服务

controller 调用的时候要分别把自定义的服务引入,就像$scope一样。

3:module中的service,可以借助config来完成服务的定义。这种方式相对于$provider来说使用起来比较方便。

config 自定义服务

controller调用服务的方法是一样的。

三: Factory方法直接把一个函数当成一个对象的$get 方法可以直接返回字符串,用 Factory 就是创建一个对象,为它添加属性,然后把这个对象返回出来。比$provider使用起来更加方便。

factory 比$provider方便

四:三者的区别:provider需要借助$get来实现,而其余的两者都不需要。

以上就是对于angularjs服务的一些了解。借鉴了前人的经验。欢迎指正。

相关文章

  • AngularJS Service+Http+Select+表格

    AngularJS 服务(Service) AngularJS 中你可以创建自己的服务,或使用内建服务。 什么是服...

  • AngularJS基础学习-02

    AngularJS 服务(Service) AngularJS 中你可以创建自己的服务,或使用内建服务。 什么是服...

  • AngularJS服务(Service)

    什么是服务? 在AngularJS中,服务是一个函数或者对象,可在你的AngularJS应用中使用 Angular...

  • angularjs 服务(service)

    在angularjs中,服务是一个函数或者对象,使用它,需要在controller中定义。angularjs中有3...

  • AngularJS 服务(Service)

    一、什么是服务? 在 AngularJS 中,服务是一个函数或对象,可在你的 AngularJS 应用中使用。 二...

  • 服务介绍

    angularJS定义服务共有五种: factory、provider、service、constant、valu...

  • AngularJS基础(二)

    1. Service 在 AngularJS 中,服务是一个函数或对象,可在你的 AngularJS 应用中使用....

  • AngularJS之服务(Service)

    AngularJS 中你可以创建自己的服务,或使用内建服务。 首先我们来看一下AngularJS中服务是指什么? ...

  • angular中的自定义服务和组件之间的通信

    1.angularjs自定义服务有几种? Provider Service Factory Value Const...

  • angularjs自定义服务

    angularjs 中可通过三种($provider,$factory,$service)方式自定义服务,以下是不...

网友评论

      本文标题:angularjs 服务(service)

      本文链接:https://www.haomeiwen.com/subject/exufnttx.html