体验jQuery和AngularJS的不同点及AngularJS的迷人之处


Posted in Javascript onFebruary 02, 2016

AngualrJS是一个很贴心的web应用框架。它有很不错的官方文档和示例;经过在现实环境中的测试著名的TodoMVC project,它在海量的框架中脱颖而出;而且网上到处都是很不错演示或者展示。但是对于一个没有接触过和AngularJS相似的框架而且还是几乎都在使用像jQuery这样的JavaScript类库的开发者来讲,要从jQuery的思想转变成AngularJS的思想是有点困难的。至少对于我来说是这样的,所以我想要分享一些学习笔记希望帮到一些开发者。

本篇通过jQuery和Angular两种方式来实现同一个实例,从而体验两者的不同点以及AngularJS的迷人之处。

首先当然需要引用jquery.js和angular.js文件。

■ 使用jQuery让写一个简单的click事件

<button id="jquery-button">JQuery Button</button>
<div id="jquery-content">I am jquery content</div>
$(function(){
$("#jquery-button").click(function(){
$('#jquery-content').toggle();
})
})

如果我们想让更多的div通过同一个点击事件实现toggle呢?

--首先要在页面中添加div,然后在js中添加相应的代码
<button id="jquery-button">JQuery Button</button>
<div id="jquery-content">I am jquery content</div>
<div id="jquery-content1">I am jquery content1</div>
$(function(){
$("#jquery-button").click(function(){
$('#jquery-content').toggle();
$('#jquery-content1').toggle();
})
})

在AngularJS中又是怎样的一种情况呢?

■ 使用Angular来写一个简单的click事件

<div ng-app="app" ng-controller="AppCtrl as app">
<button ng-click="app.toggle()">Angular Button</button>
<div ng-hide="app.isHidden">Angular content</div>
</div>
var app = angular.module("app",[]);
app.controller("AppCtrl", function(){
var app = this;
app.isHidden = false;
app.toggle = function(){
app.isHidden = !app.isHidden;
}
})

如果我们想让更多的div通过同一个点击事件实现toggle呢?

--我们只要在页面中添加一个div,通过ng-hide属性来声明
<div ng-app="app" ng-controller="AppCtrl as app">
<button ng-click="app.toggle()">Angular Button</button>
<div ng-hide="app.isHidden">Angular content</div>
<div ng-hide="app.isHidden">Angular content1</div>
</div>

以上,通过简单的例子,来比较jQuery和Angular的不同之处,我们可以发现:AngularJS中通过声明的方式来应对变化,相比jQuery,AngularJS应对变化的成本更低也更灵活。

Javascript 相关文章推荐
jquery 实现表单验证功能代码(简洁)
Jul 03 Javascript
ExtJs默认的字体大小改变的几种方法(自己整理)
Apr 18 Javascript
用js实现小球的自由移动代码
Apr 22 Javascript
页面按钮禁用与解除禁用的方法
Feb 19 Javascript
跟我学习javascript的最新标准ES6
Nov 20 Javascript
关于Vue.js一些问题和思考学习笔记(2)
Dec 02 Javascript
bootstrap PrintThis打印插件使用详解
Feb 20 Javascript
利用node.js本地搭建HTTP服务器
Apr 19 Javascript
Vue实现双向数据绑定
May 03 Javascript
微信小程序文章详情页面实现代码
Sep 10 Javascript
Vue实现动态添加或者删除对象和对象数组的操作方法
Sep 21 Javascript
如何解决jQuery 和其他JS库的冲突
Jun 22 jQuery
JavaScript通过代码调用Flash显示的方法
Feb 02 #Javascript
AngularJS中$interval的用法详解
Feb 02 #Javascript
AngularJS中处理多个promise的方式
Feb 02 #Javascript
AngularJS数据源的多种获取方式汇总
Feb 02 #Javascript
多种JQuery循环滚动文字图片效果代码
Jun 23 #Javascript
三种AngularJS中获取数据源的方式
Feb 02 #Javascript
原生JS实现拖拽图片效果
Aug 27 #Javascript
You might like
php中数字、字符与对象判断函数用法实例
2014/11/26 PHP
分享一段PHP制作的中文拼音首字母工具类
2014/12/11 PHP
如何用PHP来实现一个动态Web服务器
2015/07/29 PHP
golang与php实现计算两个经纬度之间距离的方法
2016/07/22 PHP
PHP通过引用传递参数用法分析
2016/12/01 PHP
JavaScript 定义function的三种方式小结
2009/10/16 Javascript
用最通俗易懂的代码帮助新手理解javascript闭包 推荐
2012/03/01 Javascript
解决3.01版的jquery.form.js中文乱码问题的解决方法
2012/03/08 Javascript
js浮动图片的动态效果
2013/07/10 Javascript
学习JavaScript设计模式之中介者模式
2016/01/14 Javascript
JavaScript中的Array 对象(数组对象)
2016/06/02 Javascript
Vue获取DOM元素样式和样式更改示例
2017/03/07 Javascript
angularjs中回车键触发某一事件的方法
2017/04/24 Javascript
Bootstrap 时间日历插件bootstrap-datetimepicker配置与应用小结
2019/05/28 Javascript
Jquery Datatables的使用详解
2020/01/30 jQuery
python搭建虚拟环境的步骤详解
2016/09/27 Python
Python使用cx_Oracle模块操作Oracle数据库详解
2018/05/07 Python
使用Python实现跳一跳自动跳跃功能
2019/07/10 Python
基于Django ORM、一对一、一对多、多对多的全面讲解
2019/07/26 Python
python 实现按对象传值
2019/12/26 Python
PyPDF2读取PDF文件内容保存到本地TXT实例
2020/05/12 Python
python 实现PIL模块在图片画线写字
2020/05/16 Python
详细分析Python垃圾回收机制
2020/07/01 Python
python元组拆包实现方法
2021/02/28 Python
联想印度官方网上商店:Lenovo India
2019/08/24 全球购物
澳大利亚最受欢迎的女士度假服装:Kabana Shop
2020/10/10 全球购物
荷兰最大的鞋子、服装和运动折扣店:Bristol
2021/01/07 全球购物
计算机科学系职业生涯规划书
2014/03/08 职场文书
小学生学习感言
2014/03/10 职场文书
小区物业门卫岗位职责
2014/04/10 职场文书
党支部鉴定意见
2015/06/02 职场文书
活着观后感
2015/06/03 职场文书
志愿者工作心得体会
2016/01/15 职场文书
靠谱准确的求职信
2019/04/02 职场文书
Matplotlib绘制条形图的方法你知道吗
2022/03/21 Python
使用Nginx+Tomcat实现负载均衡的全过程
2022/05/30 Servers