【AngularJS】——0.分析
【引导分析】1、什么是AngularJS? 2、为什么要使用它? 3、应用场合? 4、基本思想? 5、四大核心特征? 6、优缺点是什么?
1.定义:
AngularJS是一个用于设计动态web应用的前端JS框架。它可通过 <script> 标签添加到 HTML 页面。AngularJS于2009年发布第一个版本,由Google进行维护,压缩版94k。
注:动态web应用:web应用能为用户提供丰富的操作,能够随用户操作不断更新视图而不进行url跳转。
2、为什么要使用它:
(1)重新定义了前端应用的开发方式,帮助我们快速搭建和开发前端项目
(2)核心是专注于扩展HTML的功能。通过 指令 扩展了 HTML,且通过 表达式 绑定数据到 HTML,提供动态数据绑定(data binding)。
(3)栈框架:AngularJS不依赖(也不妨碍)任何其他的框架。
3、应用场合:
适合:大型网站开发,适于开发客户端的单页面应用。更适用于开发CRUD应用,即数据操作比较多的应用。
不适合:像游戏开发/图像处理类对DOM进行大量操纵、又或者单纯需要 极高运行速度的应用。
4、基本思想:
设计采用了MVC的基本思想,而又不完全是MVC,controller处理的业务基本上都是与view进行交互,这么看来又很接近MVVM。
5:四大特性(MVC、模块化、双向数据绑定、指令)
引入了一些非常棒的特性,包括模板机制、数据绑定、模块、指令、依赖注入、路由。通过数据与模板的绑定,能让我们将注意力集中在业务逻辑上。
(1)遵循MVC模式开发,鼓励视图、数据、逻辑组件间松耦合将测试与应用程序编写同等重要。在编写模块同时编写测试。因为各组件的松耦合,使得这种测试得以实现。
应用程序页面端与服务器端解耦。两方只需定义好通信API,即可并行开发。
(2)模块: 在AngularJS中,模块负责组织、启动、实例化应用。
(3)核心思想:将视图与业务逻辑解耦。在AngularJS中通过数据视图双向绑定实现。这将提高代码的可测试性
(4)指令:AngularJS用来扩展浏览器能力的技术之一。在DOM编译期间,和HTML关联着的指令会被检测到,并且被执行。这使得指令可以为DOM指定行为,或者改变DOM的结构。
6:优势 缺点
(1)优势
a、解耦视图、逻辑解耦,具有更大的灵活性
b、功能完整提供完整的解决方案。内置丰富的服务
c、模块化引入依赖注入技术管理各模块。
d、组件化通过指令方式可以灵活封装html组件。
e、利于测试因为模块化管理,可以对模进行块单元测试。
(2)缺点:异步支持不好,放弃IE8
【AngularJS】——0.分析的更多相关文章
- VTune使用amplxe-cl进行Hardware Event-based Sampling Analysis 0分析
于BASH正在使用VTune进行Hardware Event-based Sampling Analysis 0分析: 结果(部分)例如以下: 版权声明:本文博客原创文章.博客,未经同意,不得转载.
- 编译原理根据项目集规范族构造LR(0)分析表
转载于https://blog.csdn.net/Johan_Joe_King/article/details/79058597?utm_medium=distribute.pc_relevant.n ...
- Android 8.1 源码_启动篇(二) -- 深入研究 zygote(转 Android 9.0 分析)
前言 在Android中,zygote是整个系统创建新进程的核心进程.zygote进程在内部会先启动Dalvik虚拟机,继而加载一些必要的系统资源和系统类,最后进入一种监听状态.在之后的运作中,当其他 ...
- Android 8.1 源码_启动篇(一) -- 深入研究 init(转 Android 9.0 分析)
前言 init进程,它是一个由内核启动的用户级进程,当Linux内核启动之后,运行的第一个进程是init,这个进程是一个守护进程,确切的说,它是Linux系统中用户控件的第一个进程,所以它的进程号是1 ...
- Android 7.0 启动篇 — init原理(二)(转 Android 9.0 分析)
======================================================== ================================== ...
- Android 7.0 启动篇 — init原理(一)(转 Android 9.0 分析)
======================================================== ================================== ...
- Android 7.0 存储系统—Vold与MountService分析(三)(转 Android 9.0 分析)
Android的存储系统(三) 回顾:前帖分析了Vold的main()函数和NetlinkManager的函数调用流程,截止到NetlinkHandler的创建和start()调用,本帖继续分析源码 ...
- [0] 分析 EntityName 时出错。 行 2,位置 *。
1. 报错内容“若要在加载设计器前避免可能发生的数据丢失,必须纠正以下错误: ” “分析 EntityName 时出错. 行 2,位置 *.” 2. 如图: 3. 解决方案:查看项目全路径,是否有 ...
- Android 7.0 存储系统—Vold与MountService分析(二)(转 Android 9.0 分析)
Android的存储系统(二) 回顾:前贴主要分析了Android存储系统的架构和原理图,简要的介绍了整个从Kernel-->Vold-->上层MountService之间的数据传输流程, ...
随机推荐
- centos 系统程序包安装记录
-添加sudoer su - vi /etc/sudoers 在root ALL=(ALL) ALL 下添加: pete ALL=(ALL) ALL -安装拼音: sudo yum install & ...
- poj 2186 Popular Cows【tarjan求scc个数&&缩点】【求一个图中可以到达其余所有任意点的点的个数】
Popular Cows Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 27698 Accepted: 11148 De ...
- hdoj 1068 Girls and Boys【匈牙利算法+最大独立集】
Girls and Boys Time Limit: 20000/10000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...
- Struct2 拦截器
拦截器的整个过程 程序是在执行Action之前调用的拦截器,整个过程是这样子的 这里面注意两个问题: public void serviceAction(HttpServletRequest requ ...
- fiddler 抓包post请求body参数在jmeter中的书写
jmeter请求一直报错,最后查出来是请求参数的格式写错了,醉了 记录一下,以防我再次健忘 fidder抓包显示详情 jmeter 请求body data参数书写直接复制fiddler里TextVie ...
- 关于一次Weblogic活动线程的问题处理
Weblogic控制台监控发现 环境>>服务器>>你的服务器>>监控>>线程 中活动执行线程竟然是2000多.同一套系统在另一套平台上,并且访问的人不少 ...
- 循环中continue和break的区别
continue是指跳出本次循环 进入下次循环 再来一次 break是指循环结束 再也不来了 可以用一个广告来解释这个区别 这是continue 房:Hi 郭:是你啊 房:我订的书到了吗 房:啊!对了 ...
- 在C#中如何确定一个文件是不是文本文件,以及如何确定一个文件的类型
博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:在C#中如何确定一个文件是不是文本文件,以及如何确定一个文件的类型.
- Shell脚本高级应用 --实现远程MySQL自动查询[转
#!/bin/sh Host=192.168.5.30 User=abccdef PW=123456 MSG=`mysql -h$Host -u$User -p$PW <<EOF show ...
- 查看源码Vim+Cscope
http://blog.csdn.net/huiguixian/article/details/7044869