【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之间的数据传输流程, ...
随机推荐
- SVG事件响应
1 UIEvents(用户界面事件) focusin(onfocusin):一个元素获得焦点(例如,一段文本被选中) focusout(onfocusout):一个元素失去焦点(例如,一段文本 ...
- Apache FileUpload详细介绍
Apache FileUpload组件 在最初的 http 协议中,没有上传文件方面的功能.RFC1867("Form-based File Upload in HTML".)为 ...
- C# 关键字 default
在泛型类和泛型方法中产生的一个问题是,在预先未知以下情况时,如何将默认值分配给参数化类型 T: T 是引用类型还是值类型. 如果 T 为值类型,则它是数值还是结构 http://msdn.micros ...
- JAVA--线程wait()、lnotify()和notifyAll()方法
join()方法是Thread类的一个方法,而wait().notify().notifyAll()是java.lang.Object类的方法,这意味着,任何一个Java对象(包括线程对象)都有wai ...
- Oracle的OFA架构
最优灵活体系结构(Optimal Flexible Architecture,简称OFA) OFA其实就是一种Oracle的一种规范,其意义就是用一种统一的给文件和文件夹的规则,和文件存放目录的规则做 ...
- Java内存区域 - 深入Java虚拟机读后总结
Java虚拟机在执行Java程序的过程中会把所管理的内存划分为若干个不同的数据区域,这些区域有各自的用途,有各自的创建时间和销毁时间,有的区域随着虚拟机进程的启动而存在,有的区域则是依赖用户线程的启动 ...
- Yii2 自动更新时间created_at updated_at
创建model之后,新建一条记录,结果设计的表中created_at 字段 updated_at 字段 都是datetime 类型的,却不能自动插入当前时间.查看了资料,解决如下: 1.在class ...
- jetty之安装,配置,部署,运行
上篇文章中详解了关于什么是jetty,后续文章主要是介绍jetty的使用.本章介绍jetty环境的配置及部署war包. 1. 安装 1. 先下载一个jetty的压缩包,下载地址:http://www. ...
- JMS消息类型模型
JMS有两种消息类型模型,一种是P2P(Point To Point), 另一种是Pub/Sub(Publisher/Subscriber),二者之间的主要区别在于消息是否支持重复消费. P2P模型中 ...
- mvn开发可执行的java程序
1. 用maven-assembly-plugin插件 2. 在项目的pom文件中加入以下该插件的配置 <span style="font-size:18px;">& ...