- 浏览: 498830 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (502)
- Java (70)
- Linux (10)
- 数据库 (38)
- 网络 (10)
- WEB (13)
- JSP (4)
- 互联网 (71)
- JavaScript (30)
- Spring MVC (19)
- HTML (13)
- CSS (3)
- AngularJS (18)
- Redis (5)
- Bootstrap CSS (1)
- ZooKeeper (4)
- kafka (6)
- 服务器缓存 (4)
- Storm (1)
- MongoDB (9)
- Spring boot (16)
- log4j (2)
- maven (3)
- nginx (5)
- Tomcat (2)
- Eclipse (4)
- Swagger (2)
- Netty (5)
- Dubbo (1)
- Docker (7)
- Hadoop (12)
- OAuth (1)
- webSocket (4)
- 服务器性能 (7)
- Session共享 (1)
- tieye修改 (1)
- 工作 (1)
- 有用的语录 (0)
- https (2)
- common (5)
- 产品开发管理 (1)
- CDN 工作原理 (1)
- APNS、GCM (1)
- 架构图 (3)
- 功能实现分析 (1)
- JMX (1)
- 服务器相关操作命令 (1)
- img02 (0)
- 服务器环境搭建 (9)
- goodMenuBook (1)
- CEInstantPot (0)
- 有用数据 (1)
- 百度地图WEB API (2)
- 正则表达式 (1)
- 样式例子 (2)
- staticRecipePressureCooker.zip (1)
- jCanvas (1)
- 网站攻击方法原理 (1)
- 架构设计 (3)
- 物联网相关 (3)
- 研发管理 (7)
- 技术需求点 (1)
- 计划 (1)
- spring cloud (11)
- 服务器开发的一些实用工具和方法 (1)
- 每天学到的技术点 (4)
- Guava (1)
- ERP 技术注意要点 (2)
- 微信小程序 (1)
- FineRepor (1)
- 收藏夹 (1)
- temp (5)
- 服务架构 (4)
- 任职资格方案 (0)
- osno_test (1)
- jquery相关 (3)
- mybatis (4)
- ueditor (1)
- VueJS (7)
- python (10)
- Spring EL (1)
- shiro (1)
- 前端开发原理与使用 (7)
- YARN (1)
- Spark (1)
- Hbase (2)
- Pig (2)
- 机器学习 (30)
- matplotlib (1)
- OpenCV (17)
- Hystrix (1)
- 公司 (1)
- miniui (4)
- 前端功能实现 (3)
- 前端插件 (1)
- 钉钉开发 (2)
- Jenkins (1)
- elasticSearch使用 (2)
- 技术规范 (4)
- 技术实现原理 (0)
最新评论
AngularJS中service,factory,provider的区别
在一个分层良好的 Angular 应用中,Controller 这一层应该很薄。也就是说,应用里大部分的业务逻辑和持久化数据都应
该放在 Service 里。(就是为了Controller 这一层做得很薄)
Angular 提供了3种方法来创建并注册我们自己的 service。(三都是为应用提供服务的)
Factory
Service
Provider
factory
用 Factory 就是创建一个对象,为它添加属性,然后把这个对象返回出来。你把 service 传进 controller 之后,在 controller
里这个对象里的属性就可以通过 factory 使用了。(也是单例的,因为它也service,只会实例化一次)
service
在Angular里面,services作为单例对象在需要到的时候被创建,只有在应用生命周期结束的时候(关闭浏览器)才会被清除。
而controllers在不需要的时候就会被销毁了。
Service 是用"new"关键字实例化的。因此,你应该给"this"添加属性,然后 service 返回"this"。你把 service 传进
controller 之后,在controller里 "this" 上的属性就可以通过 service 来使用了。(就是说service内部已经给你一个返回的对象
"this"了,你要做的就是住这个"this"对象添加属性和方法)
Provider
1.Providers 是唯一一种你可以传进 .config() 函数的 service。当你想要在 service 对象启用之前,先进行模块范围的配置,
那就应该用 provider。如果用factory或service你要在Controller中对其进行设置参数,但不符合使Controller 做薄的原则。
2.如果你需要在你的服务对象可以在你的应用程序之外任何地方都可用之前改变它的某些部分,这是非常重要的。
3.用于产生一个可配置的 Service,由两部分组成。第一部分的变量和函数是可以在 app.config 函数中访问的,可以在它们被
其他地方访问到之前来修改它们。第二部分的变量和函数是通过 $get() 函数返回的,可以在任何传入了该 provider 的控制器
中进行访问的。
4.Angular里面,config会比Provider后执行(先有对象才有参数可以配置)。
5.Provider只是多了一个可以用.config()方法的功能。符合使Controller 做薄的左原则。
6.也是单例的,因为它也service,只会实例化一次
参考原文:http://www.oschina.net/translate/angularjs-factory-vs-service-vs-provider
参考原文:http://www.tuicool.com/articles/rABfUvm
在一个分层良好的 Angular 应用中,Controller 这一层应该很薄。也就是说,应用里大部分的业务逻辑和持久化数据都应
该放在 Service 里。(就是为了Controller 这一层做得很薄)
Angular 提供了3种方法来创建并注册我们自己的 service。(三都是为应用提供服务的)
Factory
Service
Provider
factory
用 Factory 就是创建一个对象,为它添加属性,然后把这个对象返回出来。你把 service 传进 controller 之后,在 controller
里这个对象里的属性就可以通过 factory 使用了。(也是单例的,因为它也service,只会实例化一次)
service
在Angular里面,services作为单例对象在需要到的时候被创建,只有在应用生命周期结束的时候(关闭浏览器)才会被清除。
而controllers在不需要的时候就会被销毁了。
Service 是用"new"关键字实例化的。因此,你应该给"this"添加属性,然后 service 返回"this"。你把 service 传进
controller 之后,在controller里 "this" 上的属性就可以通过 service 来使用了。(就是说service内部已经给你一个返回的对象
"this"了,你要做的就是住这个"this"对象添加属性和方法)
Provider
1.Providers 是唯一一种你可以传进 .config() 函数的 service。当你想要在 service 对象启用之前,先进行模块范围的配置,
那就应该用 provider。如果用factory或service你要在Controller中对其进行设置参数,但不符合使Controller 做薄的原则。
2.如果你需要在你的服务对象可以在你的应用程序之外任何地方都可用之前改变它的某些部分,这是非常重要的。
3.用于产生一个可配置的 Service,由两部分组成。第一部分的变量和函数是可以在 app.config 函数中访问的,可以在它们被
其他地方访问到之前来修改它们。第二部分的变量和函数是通过 $get() 函数返回的,可以在任何传入了该 provider 的控制器
中进行访问的。
4.Angular里面,config会比Provider后执行(先有对象才有参数可以配置)。
5.Provider只是多了一个可以用.config()方法的功能。符合使Controller 做薄的左原则。
6.也是单例的,因为它也service,只会实例化一次
参考原文:http://www.oschina.net/translate/angularjs-factory-vs-service-vs-provider
参考原文:http://www.tuicool.com/articles/rABfUvm
发表评论
-
lazyLoad
2017-05-10 00:11 566<!DOCTYPE html> <html ... -
timer
2017-05-10 00:17 427<!DOCTYPE html> <html ... -
滚动到指定元素、判断对象是否为空
2017-05-10 00:16 717<!DOCTYPE html> <html ... -
Http请求封装
2017-05-09 22:21 552<!DOCTYPE html> <html ... -
上传文件内容改变和上传文件
2017-05-09 21:56 508<!DOCTYPE html> <html ... -
ng-click参数传递
2017-05-09 21:35 949<!DOCTYPE html> <html ... -
promise(js里很多服务的then实现分析)
2016-09-14 01:07 950promise(很多少服务的then) 1、promise ... -
AngularJs directive(指令)
2016-09-14 01:07 893AngularJs directive(指令) ... -
Anguar 工作过程
2016-09-14 01:05 372Anguar 工作过程 Anguar的指令编译过程: 1 ... -
AngularJS Ajax($http)
2016-09-14 01:07 814AngularJS Ajax($http) 1.$http ... -
Angularjs run(AngularJS应用中第一个被执行的方法)
2016-09-15 13:10 615Angularjs run(AngularJS应用中第一个被执 ... -
AngularJs框架下controller间的传值方法
2016-09-15 13:10 611AngularJs框架下controller间的传值方法 ... -
$on、$emit和$broadcast的使用
2016-09-13 15:04 642$on、$emit和$broadcast的使用 如何在作 ... -
AngularJs API
2016-09-13 14:59 594AngularJs API 以下列出了一些通用的 API ... -
AngularJS 路由
2016-09-13 14:58 603AngularJS 路由 AngularJS 路由允许我们 ... -
AngularJS $location
2016-09-13 14:46 634AngularJS $location $location ... -
AngularJS基础
2016-09-17 20:52 427AngularJS基础 AngularJS 是 ...
相关推荐
Provider是AngularJS中最灵活的服务创建方式,它允许我们在应用程序启动阶段进行配置。Provider是在`.config()`函数中使用的,这意味着它们可以依赖于应用程序的配置信息。Provider的实例在运行时通过`.get()`方法...
在AngularJS中,服务(Service)、工厂(Factory)和提供者(Provider)是三种不同的方式来创建可注入的对象,它们都是依赖注入系统的一部分,用于在应用程序的不同组件之间共享数据和服务。下面将详细介绍这三者的...
本文将详细讲解AngularJS中的Provider、Factory和服务,并通过实例代码进行对比,以便更好地理解它们的工作原理。 1. **Provider** Provider是最强大的服务创建方式,因为它允许我们在应用配置阶段进行配置。`$...
AngularJS为开发者提供了三种创建服务的方式:使用内置的$provider、使用module中的service方法和使用module中的factory方法。下面将分别介绍这三种方式的用法。 使用$provider是最灵活的服务创建方式。它允许...
Angular中的自定义服务Service、Provider以及Factory详解 在Angular中的自定义服务中,有三种方式可以实现服务的复用性,即Service、Provider和Factory。这些方法可以提高Angular代码的复用性和可维护性。 Factory...
本篇将详细讲解AngularJS中三种自定义服务的方法:factory、service和provider,以及如何通过它们实现一个数的立方功能。 1. **Factory方法**: Factory是最常用的服务创建方式,它允许我们返回一个值,这个值可以...
本文将详细介绍AngularJS中创建自定义服务的三种方式:factory、service、provider,并通过实例来展示它们的使用方法。 1. 自定义服务的三种方式: AngularJS提供了多种方法来创建自定义服务,主要有以下三种: -...
自定义服务可以通过`factory`、`service`、`provider`等方式创建。 **指令(Directive)**: 指令是AngularJS的一个创新特性,它们扩展了HTML,让DOM元素具备更丰富的行为。常见的内置指令有`ngRepeat`(用于迭代...
我们可以通过`angular.service()`, `angular.factory()`, 或 `angular.provider()`来创建自定义服务。 **四、指令(Directives)** 指令是AngularJS中的一个重要特性,它们扩展了HTML,使其能够表达应用程序的行为...
本教程将深入探讨如何在AngularJS中创建和操作查询列表,这对于初学者来说是理解和掌握AngularJS功能的关键步骤。 1. **双向数据绑定**: AngularJS的核心特性之一是双向数据绑定,这使得视图和模型之间的数据可以...
`service`基于构造函数,`factory`返回一个对象,而`provider`在配置阶段提供配置,运行阶段返回服务。 以上仅是AngularJS API的一部分,实际开发中还有许多其他功能,如`directives`(自定义指令)、`filters`...
在AngularJS中,服务是应用的重要组成部分,用于封装业务逻辑和操作。它们提供了管理状态、执行计算以及与其他外部资源交互的能力。《AngularJSServices》这本书深入探讨了如何设计、构建和服务,并对其进行了全面的...
通过`.service()`, `.factory()`, 或 `.provider()`方法可以创建自定义服务。 **6. 视图和路由** AngularJS的`ngView`指令结合`$routeProvider`服务,实现了视图的动态加载和路由管理。通过定义路由规则,我们可以...
服务可以通过`factory`、`service`、`provider`等方式定义。 4. **指令(Directives)**:指令允许我们扩展HTML,创建自定义的DOM元素或属性。如`ngRepeat`用于数据遍历,`ngIf`控制元素的显示和隐藏。 5. **数据...
- **服务创建**:使用`.service()`、`.factory()`或`.provider()`来定义服务。 - **服务注入**:在控制器或其它服务中通过构造函数参数注入服务。 ##### 3. 模板 AngularJS使用HTML作为模板语言,通过指令和表达式...
AngularJS允许开发者在服务(Service)、控制器(Controller)和工厂(Factory)中注入依赖,例如内置的服务、自定义的服务或组件。在某些情况下,开发者可能会尝试将$scope对象注入到服务中,这将导致依赖注入机制发生...
源码中会有各种服务的实现,如`factory`、`service`、`provider`等不同创建方式的示例。 5. **模块**:AngularJS的模块(`angular.module`)用于组织应用,它们可以包含控制器、服务、指令等。源码将展示如何创建和...
7. **factory、service和provider的区别**: - **service**:使用构造函数创建单例对象,继承自`$rootScope`,提供简单共享数据和服务的方法。 - **factory**:返回一个值(对象、函数、值等),可以创建更复杂的...