第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实战的更多相关文章

  1. 《AngularJs实战》学习笔记(慕课网)

    1. Controller使用过程中的注意点 不要试图去复用Controller, 一个控制器一般只负责一小块视图 不要在Controller中操作DOM, 这不是控制器的职责. 封装在指令里. 不要 ...

  2. AngularJs学习笔记--unit-testing

    原版地址:http://docs.angularjs.org/guide/dev_guide.unit-testing javascript是一门动态类型语言,这给她带来了很强的表现能力,但同时也使编 ...

  3. AngularJs学习笔记--Forms

    原版地址:http://code.angularjs.org/1.0.2/docs/guide/forms 控件(input.select.textarea)是用户输入数据的一种方式.Form(表单) ...

  4. AngularJs学习笔记--expression

    原版地址:http://code.angularjs.org/1.0.2/docs/guide/expression 表达式(Expressions)是类Javascript的代码片段,通常放置在绑定 ...

  5. AngularJs学习笔记--directive

    原版地址:http://code.angularjs.org/1.0.2/docs/guide/directive Directive是教HTML玩一些新把戏的途径.在DOM编译期间,directiv ...

  6. AngularJs学习笔记--Guide教程系列文章索引

    在很久很久以前,一位前辈向我推荐AngularJs.但当时我没有好好学习,仅仅是讲文档浏览了一次.后来觉醒了……于是下定决心好好理解这系列的文档,并意译出来(英文水平不足……不能说是翻译,有些实在是看 ...

  7. AngularJs学习笔记--bootstrap

    AngularJs学习笔记系列第一篇,希望我可以坚持写下去.本文内容主要来自 http://docs.angularjs.org/guide/ 文档的内容,但也加入些许自己的理解与尝试结果. 一.总括 ...

  8. AngularJs学习笔记--html compiler

    原文再续,书接上回...依旧参考http://code.angularjs.org/1.0.2/docs/guide/compiler 一.总括 Angular的HTML compiler允许开发者自 ...

  9. AngularJs学习笔记--concepts(概念)

    原版地址:http://code.angularjs.org/1.0.2/docs/guide/concepts 继续.. 一.总括 本文主要是angular组件(components)的概览,并说明 ...

随机推荐

  1. javascript代码复用模式

    代码复用有一个著名的原则,是GoF提出的:优先使用对象组合,而不是类继承.在javascript中,并没有类的概念,所以代码的复用,也并不局限于类式继承.javascript中创建对象的方法很多,有构 ...

  2. JS判断对象是否存在的方法

    Javascript语言的设计不够严谨,很多地方一不小心就会出错. 举例来说,请考虑以下情况. 现在,我们要判断一个全局对象myObj是否存在,如果不存在,就对它进行声明.用自然语言描述的算法如下: ...

  3. kickstart bonding安装

    bonding用的是最简单的负载均衡模式,交换机不需要做配置. https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Lin ...

  4. Loadrunner:POP3协议录制收信,使用foxmail录制到的脚本为空

    以下录制方法使得录制到的脚本为空: (1)打开Virtual User Generator,点击“新建Vuser脚本”,在弹出的向导页面,选择“新建单协议脚本”,选择“POP3”协议,并确定 (2)在 ...

  5. C# 委托:把方法组合到一个数组中使用

    using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Cons ...

  6. openssl mac中使用终端生成RSA私钥和公钥文件

    RSA密钥生成命令生成RSA私钥openssl>genrsa -out rsa_private_key.pem 1024生成RSA公钥openssl>rsa -in rsa_private ...

  7. HTML5和CSS3的能量究竟是怎样的?

    Web设计师可以使用HTML4和CSS2.1完成一些很酷的东西.我们可以在不使用陈旧的基于table布局的基础上完成文档逻辑结构并创建内容丰富的网站.我们可以在不使用内联<font>和&l ...

  8. (五)、nodejs使用bootstrap的样式进行分页

    一.page方法 /****************************************************** * Created User: * Created Time: 201 ...

  9. php 提示Warning: mysql_fetch_array() expects

    我的高度代码如下 include("conn.php"); if(!empty($_GET['id'])){         $sql="select * from ne ...

  10. C++读入两个参数

    题目内容:编写程序计算两个整数的差. 输入描述:输入数据含有不超过50个整数对,每个整数队及每对整数的运算结果都不会超过231或-231. 输出描述:对于每次读入的一对整数,输出前者减去后者的差.每个 ...