初识Angular-新闻详情

初识Angular


发布时间:2018-04-28责任编辑:朱明 浏览:1557


Angular是Google公司提供的一套开源的项目框架,可以说是一套基于MVC结构的JavaScript开发工具,Angular的核心功能就是对现有的HTML编码以指令方式进行扩展,并使扩展后的HTML编码可以通过使用元素声明的方式来构建动态内容。

 

一、Angular简介

 Angular最主要的两个技术点为:数据的双向绑定和依赖注入;

 在Angular中,数据绑定可以通过{{}}双花括号的方式向页面的DOM元素中插入数据,也可以通过添加元素属性的方式绑定Angular的内部指令,实现对元素的数据绑定,这两种方式都是双向绑定形式,即只要有一端发生了变化,绑定的另一端也会自动同步。

 依赖注入是Angular中的一个特有的代码编写方式,其核心思想是在编写代码时,只需要关注为实现页面功能要调用的对象是什么,而不必了解他需依赖于什么,像逻辑类中的¥Scope对象就是通过依赖注入的方式进行使用的。

 

小结:在Angular框架中,通过双向绑定和依赖注入这两个功能,极大的减少了用户的代码开发量,只需要像声明一个HTML元素一样,就可以轻松构建一个复杂的Web端应用,而这种方式构建的应用的全部代码都由客户端的JavaScript代码完成。因此Angular框架也是有效解决端(客户端)对端(服务端)的应用方案之一。

二、Angular的特点

 1、使用双大括号{{}}语法对动态获取的数据进行绑定。这种绑定是一种双向绑定,即如果客户端发生了变化,绑定的服务器端数据也会更新。同样,如果服务器端发生了变化、被绑定的客户端数据同样也会随之改变。例如:

 

201804官网文章成笑1.png

 

 2、能将HTML元素代码通过分合的方式组成可重用的组件。这一功能可以将HTML页面中的某块代码作为一个模块在多处重复使用。通过这种方式可以提高代码的复用性,减少代码开发量,提高开发效率。

 3、支持表单和表单的验证功能。

   举例:(1)$pristine表示表单或控件内容是否未输入过。

        (2)$dirty表示表单或控件内容是否已输入过。

        (3)$valid表示表单或控件内容是否已验证通过。

        (4)invalid表示表单或控件内容是否未验证通过。

        (5)$error表示表单或控件内容验证时的错误提示信息。

 4、能使用逻辑代码与DOM元素相关联。通过逻辑代码的结果控制DOM元素片段的隐藏或显示,这样可以避免在逻辑代码中编写大量的HTML元素代码,大大提高了JavaScript代码的执行效率。例如:

201804官网文章成笑2.png

 

三、Angular表达式与JavaScript表达式的区别

   1、Angular中所有表达式的值都来源于$scope对象,由该对象以天价属性的方式统一进行设置,并不像在传统JavaScript中,可以由全局的Window对象来调用表达式。

   2、Angular中表达式的容错能力很强,可以允许出现null和undefined的情况,而不会像在传统JavaScript中抛出异常代码。

   3、由于Angular中表达式的值来源固定,因此,在表达式中,不允许出现各类判断和循环语句,这一点也与传统的JavaScript区别较大,在使用时需要注意。

使用心得及注意事项:

1:每个页面必须配置路由,传递的路由参数要和配置的路由参数保持一致。

2:结构指令以 星号(*)作为前缀

3:页面中循环使用(*ngFor)

201804官网文章成笑3.png

4:页面中判断使用(*ngIf)

5:Angular会把*ngFor用同样的方式把星号()语法的template属性转换成<ng-template>元素。

201804官网文章成笑4.png

6:Node.js和npm是做Angular开发的基础。

四、AngularJquery对比

1、首先从概念上来说,NG是一款前端框架,我们写的功能(代码)被NG调用;JQ是一个库,封装了很多功能,我们调用JQ里的API去实现一些功能

 

2、从应用上来看,NG需要考虑整个应用的架构,作为单页面的富客户端应用程序,JQ只是提供对DOM的包装和页面的渲染。

 

3、从使用上来看,NG几乎不存在DOM操作,不过NG中内置了一个JQlite,类似JQ,但也不推荐使用;JQ大量包装DOM,提高开发效率。

 

4、Angular 最大程度的减少了页面上的 DOM 操作, 解放了传统 JavaScript 中频繁的 DOM 操作;

让 JavaScript 中专注业务逻辑的代码;

5、Angular通过简单的指令结合页面结构与逻辑数据;

6、Angular通过自定义指令实现组件化编程;

7、Angular代码结构更合理,维护成本更低;

结论

JQuery是继prototype之后又一个优秀的Javascript库。它是轻量级的Js库 ,它兼容CSS3,还兼容各种浏览器(IE 6.0+, FF 1.5+, Safari 2.0+, Opera 9.0+),jQuery2.0及后续版本将不再支持IE6/7/8浏览器.

       AngularJS诞生于2009年,由Misko Hevery 等人创建,后为Google所收购。是一款优秀的前端JS框架,已经被用于Google的多款产品当中。AngularJS有着诸多特性,最为核心的是:MVVM、模块化、自动化双向
数据绑定语义化标签、依赖注入等等。

 

综上所述:AngularJS和jQuery之间的比较就如同苹果和橘子的比较,两者是出于不同的目的被创建的,解决的也是不同的问题。当一个项目的重点是数据展示和执行,而不是分析,此时可能AngularJS就会更胜一筹。对于框架的选择,你要考虑到很多因素,需要整体的构思。AngularJS总体上还是一个不错的选择,可以提高程序员的效率,相对减少Web开发中的维护成本。

 


项目开发  供稿