AngularJs-学习笔记
依赖注入
优先参考博客:http://www.360doc.com/content/16/1012/19/37255821_597927218.shtml
http://www.cnblogs.com/joyco773/p/5702337.html
- value
- factory
- service
- provider
- constant
1.创建方式:
- 直接通过模块:
- app.value();
- app.factory();
- app.service();
- app.provider();
- app.constant();
- 其实其他的controller,directive,filter等 也是直接通过 app 的函数去创建
- 加载顺序 app.constant() -> app.provider()->app.config -> app.run().
- 通过内置服务$provider在config函数中创建:
$provider.value();
- $provider.factory();
- $provider.service();
- $provider.provider();
- 总结 -- 以下提到的都是包含以上两种方式创建的
- 1.通过上面的加载顺序已经$provider没有constant方法,并且constant方法不可以在config阶段配置,$porvider.declator()可以修饰以上除constant以外
- 2.service&factory 调用以上方法仅是注册,只有在通过以下方式注入controller时才会实例化,但是provider以上方法时已经实例化,这也是为什么自定义provider可以在config阶段修改的原因
- 3.通过以上定义的name在controller注入时 实际注入的就是这个 对象,函数或者value.
- a.app.service(‘servicename’, function()); app.controller('myController', servicename);或者$provider 创建
- service创建时,不返回任何对象,就是在设置自身 -- 在controller中调用时就是这个servicename 本身
- b.app.factory(‘servicename’, function()); app.controller('myController', servicename);或者$provider 创建
- factory可以return一个 对象,函数,value 给 --在controller中调用方式,对象:servicename.variable servicename.method(). 函数: servicename();, value: servicename.
- c.app.provider(‘servicename’, function()); app.controller('myController', servicename);或者$provider 创建
- provider就是一个可在config阶段配置的factory,就是$get = 一个factory函数,所以也是可以返回一个对象,函数,value --在controller中调用方式,对象:servicename.variable servicename.method(). 函数: servicename();, value: servicename
- servicename对应的是服务,是由provider提供的这个服务,所以驼峰法命名,provider的名应该是servicenameProvider, 然后可以将servicenameProvider传入一个或者多个config中进行配置
2. 以上注入controller方式:
方式1(内联注解,推荐使用):
app.controller('myController', ['$scope', 'dateFilter', function ($scope, dateFilter) { }]);
方式2($inject注解):
var MyController = function($scope, dateFilter) {}
- MyController.$inject = ['$scope', 'dateFilter'];
- someModule.controller('MyController', MyController);
方式3(隐式注解,不推荐使用):
app.controller('myController', function ($scope, dateFilter) { });
其实以上方式不仅可以用于注入contorller,注入其他事工厂函数同样可以
config及run阶段
1. config(),只有$provider,自定义provider,内置provider已经$injector可以注入
config参考博客-http://www.ituring.com.cn/tupubarticle/1385
2.$injector需进一步学习
controller之间通信 - 事件通信及服务通信
参考博客-http://www.tuicool.com/articles/InuMF3J
路由
参考博客: http://www.cnblogs.com/xing901022/p/5154358.html
AngularJS promise - $q
参考博客: https://segmentfault.com/a/1190000002788733
http://www.jb51.net/article/61638.htm
AngularJS API
参考: http://www.runoob.com/angularjs/angularjs-reference.html
$watch()及$apply()
简单来说 -
$watch() 监控DOM上数据变化时,绑定数据到scope,自定义指令中的link函数中使用它来实现数据绑定
$apply() 就是当执行angularjs序列外的代码是 使用它来调用
参考博客: http://blog.csdn.net/christine95/article/details/49201443
相关推荐
AngularJS 学习笔记_邹业盛_angularjs-learn note
**AngularJS 框架详解** AngularJS 是一个强大的JavaScript框架,由Google维护,用于构建动态Web应用。它通过MVC(模型-视图-控制器...通过深入学习和实践,你可以有效地利用AngularJS构建高效、可维护的Web应用程序。
这个压缩包包含了作者个人的学习笔记和AngularJS的源码分析,这对于深入理解AngularJS的工作原理及其应用场景非常有帮助。让我们逐一探讨这些知识点。 1. **AngularJS基础**: AngularJS的核心特性包括数据绑定、...
**AngularJS学习笔记** AngularJS,作为一款强大的前端JavaScript框架,由Google维护,主要用于构建单页应用程序(SPA)。它的核心特性包括数据绑定、依赖注入、模块化和指令系统,极大地简化了网页应用的开发流程...
总而言之,这份AngularJS的学习笔记为初学者提供了一个由浅入深、涵盖AngularJS基础知识和核心概念的全面指南。通过对这份笔记的学习,初学者可以逐步掌握AngularJS的使用,从而有效地进行前端开发。
【AngularJS学习笔记 - 进出自由,我的分享1】 AngularJS是一款由Google开发的JavaScript框架,用于构建富客户端Web应用程序。它强调数据绑定和依赖注入,简化了前端开发流程,尤其是在实现MVC(模型-视图-控制器)...
### AngularJS 学习笔记 #### 一、AngularJS 概述 AngularJS 是一个用于构建动态Web应用的开源框架,由 Google 维护。它通过扩展 HTML 的功能来简化 Web 开发,并允许开发者以声明式的方式编写代码,极大地提高了...
**文件名称列表:** "Codecademy-AngularJS-Projects-master" 这个文件名可能代表这是一个GitHub仓库的主分支,"master"通常是GitHub仓库的默认分支,可能包含了整个项目的学习路径、源代码、笔记或者其他资源。...
这个"angularjs学习笔记本"很可能是包含了关于AngularJS的学习资料、示例代码和教程。AngularJS的核心特性是它使用了MVC(Model-View-Controller)架构模式,提供数据绑定和依赖注入,简化了前端开发。 在AngularJS...
【AngularJS学习笔记1】 AngularJS 是一个强大的前端JavaScript框架,用于构建动态Web应用程序。它通过数据绑定和依赖注入简化了HTML页面与JavaScript代码之间的交互。这篇笔记将深入探讨AngularJS的一些基本概念,...
### 四、AngularJs学习笔记 学习笔记通常包含个人对AngularJS理解的深入点,可能包括一些高级话题,如脏检查(Dirty Checking)、$digest循环,以及如何优化性能。笔记可能还包括解决常见问题的方法,以及作者在...
AngularJS 是一个强大的JavaScript框架,由Google维护,用于构建单页Web应用...文件列表中的"angularjs-studies-main"可能包含了项目源码、示例、笔记或其他相关资源,进一步研究这些内容将有助于巩固AngularJS的知识。
### AngularJS 学习笔记知识点总结 #### 一、AngularJS 概述 AngularJS 是由 Google 开发的一款开源 JavaScript 库,它提供了一种全新的应用程序组织与开发方式。AngularJS 的核心特性之一就是**数据双向绑定**,...
AngularJs学习笔记中涉及了AngularJs的基本概念和操作流程,其知识点主要包括以下几个方面: 一、AngularJs的基本概念 AngularJs是一种前端的JavaScript框架,主要用于构建单页面应用程序。AngularJs的核心特性包括...
本学习笔记将深入探讨AngularJS中的表单验证机制,主要包括以下几个方面: 1. **AngularJS 表单基础**: AngularJS中的表单是基于HTML的,但通过添加`ng-form`指令,可以将其提升为一个AngularJS感知的表单。表单...
2. {{}}插值表达式:同样用于实现单向数据绑定。它是最常用的数据绑定方式,将一个表达式的值显示在双大括号内。这种方式主要用于将数据绑定到视图的文本内容上。比如,可以将模型中的字符串变量绑定到div元素中的...