MVC
为什么需要MVC
- 代码规模越来越大,切分职责是大势所趋
- 为了复用:很多逻辑是一模一样的
- 为了后期维护方便:修改一块功能不影响其他功能
MVC只是手段,最终的目标是模块化和复用
前端MVC的困难在哪里
- JS记在分为两个部分:浏览器加载脚本,加载完成之后JIT编译执行
- 操作DOM的代码必须等待整个页面全部加载完成
- 多个JS文件的依赖解决
- JS的原型继承
AngularJS下的MVC的实现
Controller
实现方式
- 方式1
- 方式2
- 方式3
注意点
- 不要复用Controller,一个控制器一般只负责一小块视图
- 不要在Controller中操作Dom,这不是控制器的职责
- 不要在Controller中坐数据格式化,ng有很好用的表单控件
- 不要在Controller里卖弄做数据过滤,ng有$filter服务
- 一般来说,Controller是不会互相调用,控制器之间的交互会通过数据模型的时间来进行
实例