angulrar知识点整理

前端为什么需要MVC

1.前端的代码规模越来越大,切分职责是大势所趋;

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

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

注意:MVC只是手段,终极目标是模块化和复用。

前端实现MVC的困难

Js脚本加载分为两个阶段:1.浏览器加载脚本;2.加载完成之后JIT编译执行。

1.操作DOM的代码必须等待整个页面全部加载完成。

2.多个JS文件之间如果出现相互依赖,程序员必须自己解决。

3.JS的原型继承也给前端编程带来了很多困难。

Angular的四大核心特性

1.MVC

2.模块化和依赖注入

3.双向数据绑定

4.指令

Controller使用过程中的注意点

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

2.不雅在controller中操作DOM,这不是控制器的职责;

3.不要在controller里面做数据格式化,angular有很好用的表单控件;

4.不要在controller里面做数据过滤操作,ng$filter服务;

5.一般来说,controller是不会相互调用的,控制器之间的交互会通过事件进行。

$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的生命周期

1.创建

2.注册监控

3.检测模型变化

4.观察模型是否脏

5.模型销毁

Ajax路由实现的缺陷

1.ajax请求不会留下历史记录

2.用户无法直接通过URL进入应用页面的指定页面(保存书签、分享给朋友链接)

3.AjaxSEO是个灾难。

posted @ 2016-02-19 15:18  小妞妞yeah  阅读(186)  评论(0编辑  收藏  举报