Angular开发者指南之入门介绍


Posted in Javascript onMarch 05, 2017

什么是Angular

AngularJS是动态Web应用程序的结构框架。 它允许您使用HTML作为模板语言,并允许您扩展HTML的语法以清晰,简洁地表达应用程序的组件。AngularJS的数据绑定和依赖注入消除了许多你不得不编写的代码。这一切都发生在浏览器中,使其成为任何服务器技术的理想合作伙伴。

动态应用程序和静态文档之间的动态适配常常通过以下方式解决

  • 一个库:一组在编写网络应用程序时非常有用的函数。你的代码是负责在它调用库中它认为合适的。 例如jQuery
  • 框架:Web应用程序的特定实现,其中你的代码填充详细信息。框架是负责,当它需要某些应用程序特定时调用你的代码。 例如,durandal,ember等。

AngularJS采取另一种方法。 它尝试通过创建新的HTML结构来最小化文档中心HTML和应用程序需要的阻抗之间的不匹配。 AngularJS通过我们调用指令的构造来教导浏览器的新语法。 示例包括:

  • 数据绑定:{{}}
  • DOM控制结构,用于重复,显示和隐藏DOM片段
  • 支持表单和表单验证
  • 将新行为附加到DOM元素,例如DOM事件处理
  • 将HTML分组为可重用组件。

一个完整的客户端解决方案

AngularJS不是构建Web应用程序的客户端的整体谜题中的单一部分。它处理所有你曾经用手写的DOM和AJAX粘合代码,并把它放在一个定义良好的结构中。这使得AngularJS认为应该如何构建一个CRUD(创建,读取,更新,删除)应用程序。 但是,虽然它的意见,它也试图确保其意见只是一个起点,你可以轻易改变。 AngularJS提供了以下开箱即用的:

  • 在一个连贯的集合中构建一个CRUD应用程序所需的一切:数据绑定,基本模板指令,表单验证,路由,深层链接,可重用组件和依赖注入
  • 可测试性故事:单元测试,端到端测试,模拟和测试线束
  • 发布应用程序以目录布局和测试脚本为起点。

AngularJS的讨巧之处

AngularJS通过向开发人员提供更高级别的抽象来简化应用程序开发。像任何抽象一样,它以灵活性为代价。换句话说,不是每个应用程序都适合AngularJS。AngularJS是用CRUD应用程序构建的。幸运的是,CRUD应用程序代表了大多数Web应用程序。 为了理AngularJS有什么好处,但它有助于理解什么时候一个应用程序不是一个很好的适合AngularJS。

游戏和GUI编辑器是使用密集和棘手的DOM操作的应用程序的例子。这些类型的应用程序不同于CRUD应用程序,因此可能不是一个很好适合AngularJS。在这些情况下,最好使用具有较低抽象级别的库,例如jQuery。

AngularJS的禅

  • 注册回调:注册回调会杂乱你的代码,使得很难看到树的森林。 删除常见的样板代码,如回调是一件好事。 它大大减少了你必须做的JavaScript编码量,它使你更容易看到你的应用程序做什么。
  • 以编程方式操纵HTML DOM:操纵HTML DOM是AJAX应用程序的基石,但它很繁琐,容易出错。通过声明性地描述在应用程序状态更改时UI应该如何更改,您将从低级DOM操作任务中释放出来。大多数使用AngularJS编写的应用程序从不需要以编程方式操作DOM,尽管如果你愿意的话。
  • 与UI进行数据封送:CRUD操作构成了大多数AJAX应用程序的任务。 从服务器到内部对象到HTML表单的编组数据流,允许用户修改表单,验证表单,显示验证错误,返回到内部模型,然后返回到服务器,创建了很多模板文件代码。 AngularJS消除了几乎所有的这个样板,留下描述应用程序的整体流程的代码,而不是所有的实现细节。
  • 写入大段的初始化代码只是为了开始:通常你需要写很多管道只是为了获得一个基本的“Hello World”AJAX应用程序工作。使用AngularJS,您可以使用服务轻松引导应用程序,这些服务以类似Guice的依赖注入方式自动注入到应用程序中。这允许你快速开始开发功能。作为奖励,你可以完全控制自动化测试中的初始化过程。

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

Javascript 相关文章推荐
js prototype 格式化数字 By shawl.qiu
Apr 02 Javascript
javascript 特殊字符串
Feb 25 Javascript
9个javascript语法高亮插件 推荐
Jul 18 Javascript
JS实现仿京东淘宝竖排二级导航
Dec 08 Javascript
JavaScript获取两个数组交集的方法
Jun 09 Javascript
详解JavaScript中this关键字的用法
May 26 Javascript
手机端 HTML5使用photoswipe.js仿微信朋友圈图片放大效果
Aug 25 Javascript
jQuery插件FusionCharts实现的3D柱状图效果实例【附demo源码下载】
Mar 03 Javascript
vue开发环境配置跨域的方法步骤
Jan 16 Javascript
jQuery+PHP+Ajax实现动态数字统计展示功能
Dec 25 jQuery
vue项目打包后提交到git上为什么没有dist这个文件的解决方法
Sep 16 Javascript
前端性能优化建议
Sep 17 Javascript
JavaScript自定义文本框光标
Mar 05 #Javascript
Node.js数据库操作之查询MySQL数据库(二)
Mar 04 #Javascript
Node.js数据库操作之连接MySQL数据库(一)
Mar 04 #Javascript
jQuery实现贪吃蛇小游戏(附源码下载)
Mar 04 #Javascript
详解vue父子模版嵌套案例
Mar 04 #Javascript
vue指令以及dom操作详解
Mar 04 #Javascript
JS如何判断浏览器类型和详细区分IE各版本浏览器
Mar 04 #Javascript
You might like
PHP在线打包下载功能示例
2016/10/15 PHP
PHP开发中解决并发问题的几种实现方法分析
2017/11/13 PHP
Laravel 创建指定表 migrate的例子
2019/10/09 PHP
Mootools 1.2教程 Fx.Morph、Fx选项和Fx事件
2009/09/15 Javascript
jQuery控制iFrame(实例代码)
2013/11/19 Javascript
jQuery动态显示和隐藏datagrid中的某一列的方法
2013/12/11 Javascript
JS控制图片翻转示例代码(兼容firefox,ie,chrome)
2013/12/19 Javascript
js事件监听机制(事件捕获)总结
2014/08/08 Javascript
JavaScript实现穷举排列(permutation)算法谜题解答
2014/12/29 Javascript
JS实现的网页背景闪电闪烁效果代码
2015/10/17 Javascript
JavaScript知识点整理
2015/12/09 Javascript
微信小程序 window_x64环境搭建
2016/09/30 Javascript
JQuery PHP图片在线裁剪实例
2020/07/27 Javascript
vue+node+webpack环境搭建教程
2017/11/05 Javascript
javascript中如何判断类型汇总
2019/05/14 Javascript
微信小程序实现圆形进度条动画
2020/11/18 Javascript
js定义类的方法示例【ES5与ES6】
2019/07/30 Javascript
Layui之table中的radio在切换分页时无法记住选中状态的解决方法
2019/09/02 Javascript
[01:15:29]DOTA2上海特级锦标赛主赛事日 - 3 胜者组第二轮#2Secret VS EG第三局
2016/03/04 DOTA
探究Python的Tornado框架对子域名和泛域名的支持
2015/05/02 Python
python 迭代器和iter()函数详解及实例
2017/03/21 Python
Python实现查找最小的k个数示例【两种解法】
2019/01/08 Python
PyQt5 对图片进行缩放的实例
2019/06/18 Python
Python如何实现转换URL详解
2019/07/02 Python
python 实现将多条曲线画在一幅图上的方法
2019/07/07 Python
Django结合ajax进行页面实时更新的例子
2019/08/12 Python
Numpy ndarray 多维数组对象的使用
2021/02/10 Python
CSS3中Color的一些特性介绍
2012/05/27 HTML / CSS
CSS3制作炫酷的下拉菜单及弹起式选单的实例分享
2016/05/17 HTML / CSS
德国奢侈品网上商城:Mytheresa
2016/08/24 全球购物
美国珠宝店:Helzberg Diamonds
2018/10/24 全球购物
海量信息软件测试笔试题
2015/08/08 面试题
秋冬农业生产标语
2014/10/09 职场文书
支行行长竞聘报告
2014/11/06 职场文书
联谊会开场白
2015/06/01 职场文书
只用50行Python代码爬取网络美女高清图片
2021/06/02 Python