【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之间的数据传输流程, ...
随机推荐
- background-attachment:fixed应用
设置为fixed属性,背景相对于屏幕窗口固定,然后如果有一张全屏的图片,再来一张全屏的图片,就可以看到与平时滚动屏幕不同的切换图片.代码CSS部分: html, body,.content{ heig ...
- [SAM4N学习笔记]SAM4N工程模板搭建
一.需要安装的软件: 因为笔者是使用MDK-ARM开发的版本是4.72,所以需要安装这个工具,具体在哪里下载自行放狗或问度娘.除了这个重要工具以为,还需要安装Atmel官方的Atmel Studio, ...
- HW4.15
import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner i ...
- cocos2d-x 关于opengl version too old 问题解决办法
转载请注明出处 http://blog.csdn.net/u010229677/article/details/9704961 今天cocos2d-x突然出现这个对话框,去国外论坛找的解决办法.折腾许 ...
- ORA-01502: 索引或这类索引的分区处于不可用状态
ORA-01502: 索引或这类索引的分区处于不可用状态 原因: 出现这个问题,可能有人move过表,或者disable 过索引.1. alter table xxxxxx move tablespa ...
- HTML5 简单画图,切片,变形
本人是在校学生,由于这段时间不知道怎么回事,心情比较无聊没有事干,所以利用这段时间学一下HTML5,发博客的目的是为了以后可以查询,也希望各位大神能够指导像我们这样的菜鸟,告别菜鸟的时段 我学东西时候 ...
- Hadoop的辉煌还能延续多久?
摘要:Hadoop已经成为大数据的代名词.短短几年间,Hadoop从一种边缘技术成为事实上的标准.而另一方面,MapReduce在谷歌已不再显赫.当企业瞩目MapReduce的时候,谷歌好像早已进入到 ...
- 在LAMP环境下搭建JSP动态网页
开发环境Linux的版本号Linux localhost.localdomain 2.6.32-358.el6.x86_64 #1 SMP Tue Jan 29 11:47:41 EST 2013 x ...
- java数据库连接池dbcp的使用
近年来,随着Internet/Intranet建网技术的飞速发展和在世界范围内的迅速普及,计算机 应用程序已从传统的桌面应用转到Web应用.基于B/S(Browser/Server)架构的3层开发模式 ...
- Test Bench基础知识笔记
学的内容多了,好多指令和用法都容易遗忘和混淆,出现这种情况就需要勤记笔记,忘记了多翻阅几次,基本上就能完全记住了. [`timescale 1ns/1ps]前一个1ns表示时延时间,后一个1ps表示时 ...