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 相关文章推荐
Jquery中dialog属性小记
Sep 03 Javascript
firefox下frameset取不到值的解决方法
Sep 06 Javascript
判断用户是否在线的代码
Mar 05 Javascript
JavaScript实现简单的时钟实例代码
Nov 23 Javascript
JavaScript初学者建议:不要去管浏览器兼容
Feb 04 Javascript
Jquery 实现弹出层插件
Jan 28 Javascript
JS+CSS实现简单的二级下拉导航菜单效果
Sep 21 Javascript
javascript返回顶部的按钮实现方法
Jan 09 Javascript
JavaScript操作 url 中 search 部分方法函数
Jun 15 Javascript
JavaScript实现窗口抖动效果
Oct 19 Javascript
浅谈vue-cli 3.0.x 初体验
Apr 11 Javascript
详细教你微信公众号正文页SVG交互开发技巧
Jul 25 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
杏林同学录(五)
2006/10/09 PHP
一个PHP缓存类代码(附详细说明)
2011/06/09 PHP
php调用dll的实例操作动画与代码分享
2012/08/14 PHP
浅析php fwrite写入txt文件的时候用 \r\n不能换行的问题
2013/08/06 PHP
初识PHP
2014/09/28 PHP
php实现的简易扫雷游戏实例
2015/07/09 PHP
PHP设计模式之工厂模式详解
2017/10/24 PHP
JS获取scrollHeight问题想到的标准问题
2007/05/27 Javascript
js 动态添加标签(新增一行,其实很简单,就是几个函数的应用)
2009/03/26 Javascript
分享20款好玩的jQuery游戏
2011/04/17 Javascript
jQuery之按钮组件的深入解析
2013/06/19 Javascript
基于JavaScript如何实现ajax调用后台定义的方法
2015/12/29 Javascript
HTML5 canvas 9绘制图片实例详解
2016/09/06 Javascript
详解Vue的computed(计算属性)使用实例之TodoList
2017/08/07 Javascript
Angular中支持SCSS的方法
2017/11/18 Javascript
JS动态插入脚本和插入引用外部链接脚本的方法
2018/05/21 Javascript
VUE-Table上绑定Input通过render实现双向绑定数据的示例
2018/08/27 Javascript
使用Angular Cli如何创建Angular私有库详解
2019/01/30 Javascript
利用js-cookie实现前端设置缓存数据定时失效
2019/06/18 Javascript
关于vue表单提交防双/多击的例子
2019/10/31 Javascript
ES6常用小技巧总结【去重、交换、合并、反转、迭代、计算等】
2019/12/21 Javascript
vue 判断两个时间插件结束时间必选大于开始时间的代码
2020/11/04 Javascript
[15:20]DOTA2亚洲邀请赛总决赛开幕式表演:羽泉献唱
2017/04/05 DOTA
python制作websocket服务器实例分享
2016/11/20 Python
Python网络爬虫与信息提取(实例讲解)
2017/08/29 Python
django 2.0更新的10条注意事项总结
2018/01/05 Python
Python2.7版os.path.isdir中文路径返回false的解决方法
2019/06/21 Python
使用tensorflow DataSet实现高效加载变长文本输入
2020/01/20 Python
Python调用Windows命令打印文件
2020/02/07 Python
python 如何上传包到pypi
2020/12/24 Python
FC-Moto丹麦:欧洲最大的摩托车服装和头盔商店之一
2019/08/20 全球购物
英国电信商店:BT Shop
2019/12/17 全球购物
单位租房协议范本
2014/12/03 职场文书
公积金具结保证书
2015/05/11 职场文书
护士心得体会范文
2016/01/25 职场文书
JS前端可视化canvas动画原理及其推导实现
2022/08/05 Javascript