zoukankan      html  css  js  c++  java
  • 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是个灾难。

  • 相关阅读:
    易语言常用源码
    ci的数据库地址
    格式化输出php数组
    mysql插入表情问题
    线程、进程与协程2
    线程、进程与协程
    if __name=='__main__"的作用
    动态导入模块
    面向对象补充之方法
    getpass模块
  • 原文地址:https://www.cnblogs.com/juanjuanBlog/p/5201132.html
Copyright © 2011-2022 走看看