美文网首页
angular五大服务及区别(其四)

angular五大服务及区别(其四)

作者: 依依玖玥 | 来源:发表于2020-01-17 12:51 被阅读0次

一.constant服务:

app.constant('name',obj)

name为服务的名字,obj为一个json对象.

constant创建服务返回一个json对象(也就是第二个参数中传入的对象),这个对象里可以有参数,可以有方法,并且,属性和方法都可以在控制器中修改,新增,但是按照它的设计本意,一般constant创建的服务不会去修改它的内容,需要修改内容,最好用value来创建服务.

二.value服务:

app.value('name',obj)

name为服务的名字,obj为一个json对象.

value创建服务返回一个json对象(也就是第二个参数中传入的对象),这个对象里可以有参数,可以有方法,并且,属性和方法都可以在控制器中修改,新增,按照它的设计本意,如果属性和方法需要被修改内容,就用value来创建服务.

constant和value主要就是用于存放一些数据或方法以供使用,区别是constant一般是存放固定内容,value存放可能会被修改的内容

三.factory服务

app.factory('name',function(){returnobj})

name为服务的名字,第二个参数传入一个函数,函数需要有一个返回值obj,返回一个对象.实际被注入的服务就是这个对象.

factory服务是最常见最常用的服务类型,几乎可以满足90%的自己开发的需求,使用它可以编写一些逻辑,通过这些逻辑最后返回所需要的对象.比如使用$http来获取一些数据.我们就在factory创建的服务里抓取数据,最后返回.

它和constant,value最大的区别是,factory服务是有一个处理过程,经过这个过程,才返回结果的.

四.service服务

app.service('name',constructor)

name为服务的名字,constructor是一个构造函数.

service和factory的区别在于,它第二个参数传入的是一个构造函数,最后被注入的服务是这个构造函数实例化以后的结果.所以基本上使用service创建的服务的,也都可以使用factory来创建.

所以这里,factory服务的第二种写法和使用service是一致的:


相关文章

  • angular五大服务及区别(其四)

    一.constant服务: app.constant('name',obj) name为服务的名字,obj为一个j...

  • angular.extend和angular.merge的区别(

    angular.extend和angular.merge的区别: angular.extend存在相同的对象时...

  • angular之Http服务

    大纲 1、什么是angular服务2、服务的类别3、认识angular的Http请求4、简单实例5、angular...

  • Angular 初识

    Angular 简介 Angular (通常是指 "Angular 2+" 或 "Angular v2 及更高版本...

  • angular的一些服务

    angular的一些服务 $ocLazyLoad $ocLazyLoad是angular的一个懒加载服务,可以按需...

  • Angular notes

    Angular 中 declarations/imports/providers 区别: declarations...

  • angular 插件

    插件推荐功能-angular language service angular服务插件 智能提示错误 Auto I...

  • angular服务

    服务 服务(factory & service) service服务:app.service(name,构造函数)...

  • angular 服务

    内置服务:$scope,$http,$location(地址获取),$timeout&$interval(时间的变...

  • Angular2

    angular 可重用结构建议 angular 可重用结构建议,非常用价值掌握 Angular2 的服务 (ser...

网友评论

      本文标题:angular五大服务及区别(其四)

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