angular Service(服务)

1.angular Service(服务)

描述:在angularJS框架中,服务Service就是提供给APP数据模型的全局变量

        而服务存在的目的就是对各个controller之间的交互提供了一个途径

说明:

        1)在angular变量中服务是一个名词

        2)在angular变量中由于controller作用域的问题,平级作用于之间无法相互沟通,而在开始发过程中controller之间的沟通无法避免,为了解决这个问题,angular框架提出了service功能。使用service需要注入实现,注入则相当于声明。

        3)在angular框架中存在多种服务,有系统服务,自定义服务,同时也存在多种不同的变量:系统自带的全局变量,自定义全局变量,

        rootscope:系统提供的存在于整个APP数据模型中的全局变量,所有的controller中都能够访问到$rootscope

2.系统服务$http

描述:angular框架中对APP数据模型直接内置了一个,用于处理网络功能的这个服务就是http,可以基本认为带有¥符号的服 务都是系统直接提供的。【一般为了区别于系统服务,自定义的服务前都不加$做前缀】

语法:以为$http是系统直接提供的服务,所以不需要手动定义服务内容,而是通过在直接注入的 方式加载到想要使用网络多功能的controller之中即可

注意:对controller注入的$http服务后,只能说明在这个controller中可以发送网络请求,但并不意味着已经发送了请求,具体内容需要自己创建

注:get和post发送方法中有所不同,post中除了method和URL还有headers json文件固定格式

3.过滤服务器$fitter(修饰作用)

描述:$fitter服务在angular框架中,表示丢数据的一种转换。

使用$fitter服务能过使得页面中呈现的内容表现为不同的样式

语法:{{ 任意内容 | 修饰器}}

类型:

    在angular中系统对$filter服务提供了以下几种修饰器

    1)***|currency:‘货币符号’

    用于将显示的内容格式转化为货币格式

    ps:currency默认转化格式是美元,可以在语法中对货币符号进行定义

    2)***| filter:子集数组

    用于从一个数组中,筛选出符合子集数组要求的数组结果,类似于输入提示,正则检测之类的功能

    3)*** | lowercase

        *** | uppercase

        用于格式内容的大小写转换,但只对英文有效

    4)*** | orderBy:‘表达式’

        用于根据表达式进行数组排序,一般本修饰器用在ng-repeat中

5.自定义过滤修饰器

描述:直接通过对APP数据模型,调用.filter()进行自定义过滤服务

    自定义的过滤服务可以直接通过注入的方式在controller中使用

语法:

    app.filter(‘自定义过滤修饰器的名称’,function(){

            return function(text){

            功能代码

            }

});

6.时间轴服务,$interval $timeout

描述:时间轴服务共有三种不同的服务内容,其语法的本质与bom中的间隔调用函数与延迟调用函数基本没有区别

7.观测服务:$watch

描述:$watch虽然我们称之为服务,但事实上他是最特殊的同一个,因为这个服务不需要手动注入即可使用,他的任务是监听任何想要监听的内容变化时自动执行回调函数

说明:可以在任何时刻,控制器中的任何位置直接在使用他们

语法:$scope.$watch(angular表达式或变量或字符串,回调函数);

7.自定义服务

描述:自定义服务就是需要开发者自己手动编写服务内容,并注入后才能使用的全局变量

说明:自定义服务有很多种写法,常见的有以下五种写法

        1)value服务

        2)constant服务

        3)factory服务

        4)service服务

        5)provider服务

补充:五种写法所创建的自定义服务的目的基本相同,都是通过提供一种途径来使得controller来进行交互的方法,但每一种写法都会赋予自定义服务略微不同的特征,在不同的环境下需要结合实际情况决定使用哪一种

        2)constant服务

        描述:constant服务是通过.constant()方法对app数据模型进行扩充的方式

        constant的内容可以是任何合法的数据局结构

        3)factory服务

            描述:factory是通过.factory方法创建一个object结构并返回,这个object结构充当了一个全局变量,在各个controller之间传递信息

            语法:app.factory(‘服务名称’,function(){

            var obj = {};

            return obj{};

        });

        说明:乍一看factory服务和value服务功能相同,甚至factory功能没有value功能强大,但是不同点在于factory创建服务时,对象是在函数内创建的

        4)service服务

        service服务相当于本身一斤创建了一个空白对象,所有的内容操作通过this.来完成。

        5)provider服务

        描述:provider服务通过对APP数据模型进行调用.provider()方法进行扩充,并在参数内部通过this.$get获取

猜你喜欢

转载自blog.csdn.net/amily8023/article/details/80492072