【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之间的数据传输流程, ...
随机推荐
- WEB安全测试的类型
1.跨站脚本(XSS) XSS又叫CSS(CROSS SET SCRIPT),跨站脚本攻击.它指的是恶意攻击者往WEB页面里插入恶意的html代码,当用户浏览该页面时,嵌入其中的html代码会被执行, ...
- VS2010+Oracle11+Entity Framework4.1环境搭建及常见问题(转)
一,开场白: 在微软的实体数据模型中存在四种查询方式:SQL字符串:Linq:Linq to SQL:Linq to Entity(ESQL) 对于Linq SQL目前微软虽然仍在支持,但微软已经声明 ...
- NIO的学习
参考 http://wenku.baidu.com/link?url=rq-BEp3Et4JRrE62f2Lv9hq8nT_Gq0XPb65h8OBqTAt-ILfqKmdjIhVEp8bctIdm0 ...
- [LeetCode] 3. Longest Substring Without Repeating Characters 解题思路
Given a string, find the length of the longest substring without repeating characters. For example, ...
- tomcat+spring+https
由于开发的接口需要ios调用,而ios即将只支持https,所以最近研究了一下,将成果放在这里记录一下: .配置tomcat的https: 原文链接:http://jingyan.baidu.com/ ...
- Ueditor自定义默认宽度高度
如题. 最近需要使用到网页后台富文本编辑器.经过同学推荐,最后决定使用百度家的Ueditor. 官方地址:http://ueditor.baidu.com/website/ 贴吧地址:ueditor讨 ...
- nodejs保存文件的问题
从前端到那里jar包失败: 保存到本地管理机jar包md5sum上传正确的值md5sum值不相等.并上传 处理 没有错误,说明保存过程中的错误: 前面是base64然后转码后jar包内容放进reque ...
- KDB调试内核
http://www.ibm.com/developerworks/cn/linux/l-kdbug/
- android.util.Log说明和android 像素说明
1. android.util.Log常用的方法有以下5个:Log.v() Log.d() Log.i() Log.w() 以及 Log.e() .根据首字母对应VERBOSE,DEBUG,INFO, ...
- CentOS远程系统管理之VNC
写这篇有摘自他人的地方,如若侵犯请立即告知,第一时间下降!! 现在比较好用的用的广泛的是SSH和PUTTY,通过这些客户端来管理LINUX服务器的,下面主要介绍另一款VNC软件,主要由两个部分组成:V ...