实现MVC

为什么需要MVC?

1、代码规模越来越大,切分职责是大势所趋;

2、为了复用:很多逻辑是一模一样的;

3、为了后期维护方便:修改一块功能不影响其他功能

MVC只是手段,最终目的是模块化和复用

Controller 使用过程中的注意点

1、不要试图去复用Controller,一个控制器一般只负责一小块试图

2、不要在Controller中操作DOM ,这不是控制器的职责

3、不要在Controller里面做数据格式化,ng有很好用的表单控件

4、不要在Controller里面做数据过滤操作,ng有¥filter服务

5、一般来说,Controller是不会相互调用的,控制器之间的交互会通过事件进行或$scope进行交互

如何复用model

如何复用view

AngularJS的MVC是借助$scope实现的!!!!

神奇的$scope

1、$scope是一个POJO(Plain Old Javascript Object)

2、$scope提供一些工具方法$watch()/$apply()

3、$scope是表达式的执行环境(或者叫作用域)

4、$scope是树形结构,与DOM结构平行

5、$scope对象会继承父$scope上的属性和方法

6、每一个Angular应用只有一个根$scope对象(一般位于ng-app上)

7、$scope可以传播事件,类似于DOM事件,可以向上也可以向下

8、$scope不仅是MVC的基础,也是后面的实现双向数据绑定的基础

9、可以用angular.element($0).scope()进行调试

$scope  的生命周期

careate 创建  Watcher registeration 检测 注册  Model mutation  模型变化  Mutation observation 观察模型有没有脏(污染) Scope destruction 销毁 

Angular启动的时候,首先会先创建$rootScope的,

posted @ 2017-02-25 11:21  shirleyYing  阅读(157)  评论(0编辑  收藏  举报