dm_vincent的专栏

后端工程师,前端技术爱好者。

[AngularJS面面观] 24. 依赖注入 --- Value以及Decorator

module中定义的高层API现在已经介绍的差不多了,本文就把后面剩下的几个能介绍的先介绍了(不能介绍的还有蛮多的,比如filter,controller,directive,这些使我们后面讨论的内容,敬请期待 :) )。和依赖注入关系比较紧密的剩下2个方法分别是value和decorator。V...

2016-08-28 18:55:47

阅读数 5187

评论数 1

[AngularJS面面观] 23. 依赖注入 --- Factory vs Service

据说99%的angular的初学者都会有一个疑问:factory和service到底有什么区别?什么情况该用factory,而什么情况又该用service呢?比如这个Stackoverflow上的这个问题:Service vs Factory,又或者是这个问题:Service vs Provide...

2016-08-26 00:00:01

阅读数 4018

评论数 0

[AngularJS面面观] 22. 依赖注入 --- 配置队列以及运行队列

在上一篇文章中,介绍了constant的生命周期:它是如何被定义的,如何被创建,如何被使用的。本文继续介绍module上更多高层API的实现细节。在继续阅读下面的内容之前,还是建议对依赖注入本身要有足够的理解,当然如果你是跟着依赖注入的这一系列文章一路走来,对angular实现依赖注入的方式和细节...

2016-08-21 14:14:58

阅读数 3543

评论数 0

[AngularJS面面观] 21. 依赖注入 --- constant到底如何而来

在上一篇文章中,我们终于见到了angular中依赖注入的总体结构图。从这幅图中我们可以知道在angular内部是有两个注入器协同工作来实现我们习以为常的依赖注入特性的。 结合上图简单回顾一下angular依赖注入的组成和工作流程。 首先,在台面上的注入器名为实例注入器(Instance I...

2016-08-19 23:11:01

阅读数 7460

评论数 0

[AngularJS面面观] 20. 依赖注入 --- instance注入器以及provider注入器

本文就来解答上一篇文章留下的疑问,为什么在注入器也分成了instance注入器和provider注入器。这两种注入器的工作原理是怎么样的。 总体结构 为此我特别准备了一张图来描述一下angular注入器的工作流程和原理,如下所示。 这张图的顶部是外部调用的入口,即通过angular暴...

2016-08-13 22:08:41

阅读数 4115

评论数 1

[AngularJS面面观] 19. 依赖注入 --- Provider是个啥

在前面介绍angular中依赖注入相关的概念和细节时,非常多次提到了provider这个概念,每次提到都会让大家再等等,再等等。现在再也等不了啦,从本篇文章开始就会陆续介绍provider和一些基于provider的高层方法,比如service,factory等等。 provider是什么?...

2016-08-13 22:07:51

阅读数 8782

评论数 1

[AngularJS面面观] 18. 依赖注入 --- $injector服务

有了前面那么多的铺垫工作,`$injector`服务正式上线。本文将介绍angular提供给开发者可以直接使用的`$injector`服务中包含的可调用方法以及每个方法的实现。 ##$injector服务 首先我们看看这个服务中包含了那些方法: ```js return { invoke...

2016-08-08 09:24:27

阅读数 5431

评论数 2

[AngularJS面面观] 17. 依赖注入 --- 注解的定义与实现

本篇文章继续介绍angular用以实现依赖注入的关键元素之一 - 注解(Annotation)。 在前几篇文章中,我们已经分析和讨论了有关angular依赖注入的几个方面: angular如何处理模块的声明和获取 angular注入器的概念和它是如何加载模块以及执行模块定义的任务 angul...

2016-08-07 00:22:35

阅读数 5442

评论数 0

[AngularJS面面观] 16. 依赖注入 --- 注入器中如何管理对象

上一篇文章初次介绍了注入器(Injector),分析了它加载模块的过程以及它是如何执行任务队列的。这里需要重申一下的是,所谓任务队列实际上就是我们在开发一个基于angular的应用时定义的那些`constant`,`service`,`factory`等等,它们通过`module`类型提供的方法定...

2016-08-06 18:19:37

阅读数 5709

评论数 3

[AngularJS面面观] 15. 依赖注入 --- 初识注入器(Injector)

本篇文章继续介绍angular中实现依赖注入的”幕后英雄” — 注入器(Injector)。说它是”幕后英雄”,是因为它才是依赖注入得以实现的主力军。而上篇文章介绍的模块只不过是活跃在前台跟各位开发人员直接打交道的”接待人员”。 初识注入器 加载模块 任务队列 方法介绍 注入器任...

2016-08-05 00:23:24

阅读数 6739

评论数 0

[AngularJS面面观] 14. 依赖注入 --- module的定义与实现

从本篇文章开始,会开始系统性地介绍angular是如何实现依赖注入这一重要特性的。 ##引言 提到依赖注入,有后端背景的开发人员应该不会陌生。比如对于Java开发人员而言,绝大部分都是通过Spring这一框架首先了解到依赖注入这一概念的。所谓依赖注入(Dependency Injection)...

2016-07-31 21:46:12

阅读数 5897

评论数 5

[AngularJS面面观] 13. Angular工具库 --- 异常对象创建方法minErr

本系列文章会讨论Angular框架除了提供scope等核心功能外,还提供了哪些功能。 作为Angular工具库这一系列文章的开篇,首先来看看但凡程序都绕不开的一个话题 - 异常。 那么Angular在异常处理方面又提供了哪些工具呢? ##引子 - scope中是如何抛出异常的? 首先,让我们...

2016-07-24 23:04:02

阅读数 6459

评论数 1

[AngularJS面面观] 12. scope中的watch机制---第三种策略$watchCollection

如果你刚刚入门angular,你或许还在惊叹于angular的双向绑定是多么的方便,你也许在庆幸未来的前端代码中再也不会出现那么多繁琐的DOM操作了。 但是,一旦你的应用程序随着业务的复杂而复杂,你就会发现你手头的那些angular的知识似乎开始不够用了。为什么绑定的数据没有生效?为什么应用的速...

2016-07-17 23:01:57

阅读数 9409

评论数 1

[AngularJS面面观] 11. scope事件机制 - 事件系统在Angular框架中的应用

此篇文章是angular事件机制相关的最后一篇文章。 主要介绍一下事件系统在Angular框架本身中的一些应用场景,看看在什么场景下使用事件是比较合适的。 移除scope后的广播 有过定义指令(directive)经验的同学们应该知道,很多指令都会拥有自己的scope,无论是隔离scop...

2016-07-16 22:54:15

阅读数 4913

评论数 0

[AngularJS面面观] 10. scope事件机制 - $emit,$broadcast以及事件对象

发布-订阅模式(Publish-Subscribe Pattern) 事件的生命周期-注册和注销 事件与scope继承树-$emit以及$broadcast 事件的停止传播以及阻止默认行为 事件在scope生命周期中的应用 本节继续介绍介绍3,4以及5。

2016-07-10 22:50:25

阅读数 6328

评论数 1

[AngularJS面面观] 9. scope事件机制 - 基本概念以及生命周期

发布-订阅模式(Publish-Subscribe Pattern) 事件的生命周期-注册和注销 事件与scope继承树-$emit以及$broadcast 事件的停止传播以及阻止默认行为 事件在scope生命周期中的应用 本节介绍1和2。

2016-07-04 00:09:07

阅读数 4993

评论数 0

[AngularJS面面观] 8. scope继承 - 属性覆盖,隔离scope以及指定scope的parent

上一节中我们探讨了遍历scope树形继承结构的过程。本节继续讨论一下在继承结构下产生的属性覆盖问题,以及scope的一些特殊情况:隔离scope以及为scope显式指定其父亲scope。 ##属性覆盖(Attribute Shadowing) 属性覆盖这个问题或许会对Angular新手造成一定...

2016-07-03 16:47:23

阅读数 7093

评论数 0

[AngularJS面面观] 7. scope继承与digest循环 - scope树结构的遍历

在上一篇文章中,介绍了scope继承本质上也是基于JavaScript原型继承。同时也分析和讨论了scope生命周期中最重要的两个方法$new以及$destroy的源代码实现。 而在这一篇文章中,会接着讨论digest循环是如何利用scope的树形继承结构来进行遍历的。这也解答了在这篇文章末尾遗...

2016-06-12 15:53:19

阅读数 5147

评论数 1

[AngularJS面面观] 6. scope继承 - 基于原型继承的树形体系以及scope的生命周期

写过Angular应用的同学们或多或少都会注意到Angular框架在幕后会根据应用结构创建很多个scope,这些scope也许是继承自它的父节点的scope,也可能是隔离scope(Isolated Scope)。但是它们最终的父节点都是$rootScope。$rootScope是全局唯一的一个s...

2016-06-09 00:02:33

阅读数 5624

评论数 0

[AngularJS面面观] 5. scope中的两个异步方法 - $applyAsync以及$evalAsync

Angular中digest循环的主干是对于watchers的若干次遍历,直到整个scope中的数据”稳定”下来,这部分实现在这篇文章中已经进行了详尽的介绍。相关的一些细节优化也在这篇文章中进行了分析。除了主干的内容,digest循环的内容其实还包括几个比较有趣的部分,比如这一节我们即将分析的$e...

2016-06-08 00:32:06

阅读数 17823

评论数 2

提示
确定要删除当前文章?
取消 删除