angular.js核心特性:1、MVC 2、模块化Module 3、指令系统 4、双向数据绑定
基本概念与用法:MVC、模块化与依赖注入、双向数据绑定、指令、Service、Provider、表单
内容简介:Angular.js模块化实现、一个完整的项目结构是什么样的、使用ngRoute进行视图间的路由、模块的切分方式、模块之间的依赖该怎么做?(依赖注入)
双向数据绑定内容简介:取值表达式与ng-bind指令、双向绑定的典型场景-表单、动态切换标签样式、ng-show和ng-hide、ng-class、ng-Animate
MVC
为什么需要MVC?
1、因为代码规模越来越大,不能够一份js代码把所有业务全部写完,所以切分代码是必须的。
2、为了复用,有很多逻辑是一样的。
3、为了后期维护方便,修改一块功能不影响其他功能
MVC只是手段,最终目的还是模块化和复用。
前端MVC的困难?
1、操作DOM的代码必须等待整个页面全部加载完成
2、多个js文件如果出现相互依赖,程序员要自己解决
3、js原型继承也给前端编程造成许多困难
Controller使用过程中的注意点:
1、不要试图去复用Controller一个控制器一般只负责一小块视图
2、不要再Controller中操作DOM,这不是控制器的职责
3、不要在Controller里面做数据格式化,ng有很好的表单控件
4、不要在Controller里面做数据过滤操作,ng有filter服务
5、一般来说,Controller是不会互相调用的,控制器之间的交互会通过事件进行。
双向数据绑定三个问题(来自慕课网大漠):
1、为什么其他所有前端框架都不实现双向数据绑定?
2、如果让你来实现双向数据绑定,你会怎么实现?
3、双向数据绑定有什么潜在的缺点吗?
我们需要什么样的前端开发环境:
- 代码编辑工具:sublime、webstorm
- 断点调试工具:angularJS Batarang(chrome插件)
- 版本管理工具:git
- 代码合并和混淆工具:grunt
- 依赖管理工具:bower
- 单元测试工具:karma jasmine
- 集成测试工具:Protractor(专为angular定制)
搭建自动化的前端开发、测试、调试环境
jasmine
- describe(string,function)这个函数表示分组,也就是一组测试用例
- it(string,function)这个函数表示测试用例
- expect(expression)表示期望expression这个表达式具有某个值或者具有某种行为。
- to***(arg)这个函数表示匹配
网友评论