AngularJs学习笔记-慕课网AngularJS实战
第1章 快速上手
放弃了IE8以及以下,不支持。
4大核心特性:
1.MVC
Model: 数据模型
View:视图
Controller:业务逻辑和控制逻辑
好处:职责清晰,模块化。
2.模块化
3.指令系统 (AngularJs特有的)
4.双向数据绑定(AngularJs特有的)
开发工具: webstorm最强大,占用资源比较多。轻量级:sublime.
调试工具:chrome插件batarang, 它是专门针对angularJS的。
版本管理工具: git小乌龟
基于nodejs的开发和调试工具
混淆工具:grunt
依赖管理工具:bower, 自动安装需要的插件,比如jquery。 比如bootstrap依赖jquery,删掉jquery的时候,它会提示你。 不是很有必要用。
轻量级的http server, 基于nodejs。 github.com上下载
单元测试工具:karma,它没有写单元测试用例的功能。 结合 jasmine用。 这样前台也能实现自动化测试了。
为AngularJs专门设计的测试工具:Protractor
第2章 基本概念和用法
2.1 MVC:为了模块化和复用。
代码规模越来越大,切分职责。
复用:很多逻辑是一样的。
后期维护方便,改一块不影响其他。
Controller实现:不推荐用Controller嵌套,实现通用(<div ng-controller='parent'><div ng-controller='child'></div></div>), ng的规范写法是:把公共的东西做成Service。
Angular Controller注意要点:
1.不要试图复用Controller,gn设计思想,是用来存放业务逻辑的,没有复用的必要。
2.不要操作dom,用指令去操作。会造成页面重新布局,这个操作是非常耗资源。
3.不要做数据格式化,ng有很好的表单控件
4.不要做数据过滤操作,ng有$filter服务
5.一般来说Controller不会相互调用,是函数方法调用,太高耦合了。控制器交互通过事件进行。
通过scope或者数据模型上的事件进行交互,Controller在内部监控这些事件,从而实现交互。
Model: $scope.属性
View: 通过指令Directive实现
ng中MVC全部借助于$scope实现。
先在$scope中找指令,如果没有找到,再找$rootScope。 (通过查看源文件发现,和想象之中一样,页面render到浏览器的是没有解析过的指令,最终呈现的是ng解析过的demo)
第3章 核心原理解析
第4章 用AngularJS开发移动APP
第5章 前端自动化测试 TDD(测试驱动开发)
课程地址:http://www.imooc.com/view/156
AngularJs学习笔记-慕课网AngularJS实战的更多相关文章
- 《AngularJs实战》学习笔记(慕课网)
1. Controller使用过程中的注意点 不要试图去复用Controller, 一个控制器一般只负责一小块视图 不要在Controller中操作DOM, 这不是控制器的职责. 封装在指令里. 不要 ...
- AngularJs学习笔记--unit-testing
原版地址:http://docs.angularjs.org/guide/dev_guide.unit-testing javascript是一门动态类型语言,这给她带来了很强的表现能力,但同时也使编 ...
- AngularJs学习笔记--Forms
原版地址:http://code.angularjs.org/1.0.2/docs/guide/forms 控件(input.select.textarea)是用户输入数据的一种方式.Form(表单) ...
- AngularJs学习笔记--expression
原版地址:http://code.angularjs.org/1.0.2/docs/guide/expression 表达式(Expressions)是类Javascript的代码片段,通常放置在绑定 ...
- AngularJs学习笔记--directive
原版地址:http://code.angularjs.org/1.0.2/docs/guide/directive Directive是教HTML玩一些新把戏的途径.在DOM编译期间,directiv ...
- AngularJs学习笔记--Guide教程系列文章索引
在很久很久以前,一位前辈向我推荐AngularJs.但当时我没有好好学习,仅仅是讲文档浏览了一次.后来觉醒了……于是下定决心好好理解这系列的文档,并意译出来(英文水平不足……不能说是翻译,有些实在是看 ...
- AngularJs学习笔记--bootstrap
AngularJs学习笔记系列第一篇,希望我可以坚持写下去.本文内容主要来自 http://docs.angularjs.org/guide/ 文档的内容,但也加入些许自己的理解与尝试结果. 一.总括 ...
- AngularJs学习笔记--html compiler
原文再续,书接上回...依旧参考http://code.angularjs.org/1.0.2/docs/guide/compiler 一.总括 Angular的HTML compiler允许开发者自 ...
- AngularJs学习笔记--concepts(概念)
原版地址:http://code.angularjs.org/1.0.2/docs/guide/concepts 继续.. 一.总括 本文主要是angular组件(components)的概览,并说明 ...
随机推荐
- ios assetlibrary
公司做个app项目,用phonegap做,好调页面,哎,就是骗那些土大款客户,觉得phonegap性能一般吧,不过html5的确好强大,页面设计好了看起来也好看.原生的用的不多,比如什么二维码扫描啊, ...
- HTML5--》点击显示隐藏内容
<details>浏览器支持比较差,可以用JavaScript实现这种功能. <!doctype html> <html> <head> <met ...
- landsat8简介
简介 2013年2月11号,NASA 成功发射了 Landsat 8 卫星,为走过了四十年辉煌岁月的 Landsat 计划重新注入新鲜血液.LandSat- 8上携带有两个主要载荷:OLI和TIRS. ...
- Qt中QObject中的parent参数
今天写了一个小程序,验证了带参的构造函数中参数parent的作用. 在MainWindow中声明一个QDialog类型的指针,在MainWindow中对它进行初始化.我采用了两种初始化方式,一种是带参 ...
- OpenGL函数解析之glMatrixMode(GLenum mode)
函数原型:void glMatrixMode(GLenum mode) 函数说明:glMatrixMode函数只有一个枚举类型的参数mode,用来指定哪一个矩阵堆栈式下一个矩阵操作的目标. mode有 ...
- jquery.css 最简单的用法
//判断验证码 if (pwd != "" && pwd != null) { $("#TxtPwd").css(& ...
- 网络编码 GB2312、GBK与UTF-8的区别
GB2312.GBK与UTF-8的区别 这是一个异常经典的问题,有无数的新手站长每天都在百度这个问题,而我,作为一个“伪老手”站长,在明白这个这个问题的基础上,有必要详细的解答一下. 首先,我们要 ...
- 《深入剖析Tomcat》读书笔记(二)
三.容器Container Container 是容器的父接口,所有子容器都必须实现这个接口.Container 容器的设计用的是典型的责任链的设计模式,它有四个子容器组件构成,分别是:Engine. ...
- ASP测试代码: <% response.write("helloworld,vbscript!") %>
ASP测试代码: <% response.write("helloworld,vbscript!") %>
- mongodb基础用法
安装部分 mongodb配置方法 mongodb的安装目录 C:\MongoDB\Server\3.2\bin 创建以下目录 c:\mongo\log c:\mongo\db 创建mongodb的配置 ...