体验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 相关文章推荐
Javascript 继承机制实例
Aug 12 Javascript
CSS(js)限制页面显示的文本字符长度
Dec 27 Javascript
多次注册事件会导致一个事件被触发多次的解决方法
Aug 12 Javascript
window.location.href中url中数据量太大时的解决方法
Dec 23 Javascript
document.execCommand()的用法小结
Jan 08 Javascript
JS获取URL中参数值(QueryString)的4种方法分享
Apr 12 Javascript
Javascript实现多彩雪花从天降散落效果的方法
Feb 02 Javascript
令按钮悬浮在(手机)页面底部的实现方法
May 02 Javascript
解决使用Vue.js显示数据的时,页面闪现原始代码的问题
Feb 11 Javascript
jQuery Ajax实现Select多级关联动态绑定数据的实例代码
Oct 26 jQuery
jQuery Datatables 动态列+跨列合并实现代码
Jan 30 jQuery
详解ES6实现类的私有变量的几种写法
Feb 10 Javascript
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 for 循环语句使用方法详细说明
2010/05/09 PHP
破解图片防盗链的代码(asp/php)测试通过
2010/07/02 PHP
PHP获取当前页面完整URL的实现代码
2013/06/10 PHP
Thinkphp多文件上传实现方法
2014/10/31 PHP
php与c 实现按行读取文件实例代码
2017/01/03 PHP
一个检测表单数据的JavaScript实例
2014/10/31 Javascript
jquery+javascript编写国籍控件
2015/02/12 Javascript
JavaScript将数字转换成大写中文的方法
2015/03/23 Javascript
JavaScript动态检验密码强度的实现方法
2016/11/09 Javascript
js 博客内容进度插件详解
2017/02/19 Javascript
Nodejs之http的表单提交
2017/07/07 NodeJs
jQuery实现的简单图片轮播效果完整示例
2018/02/08 jQuery
vue中实现图片和文件上传的示例代码
2018/03/16 Javascript
深入浅出vue图片路径的实现
2019/09/04 Javascript
支付宝小程序实现省市区三级联动
2020/06/21 Javascript
viewer.js实现图片预览功能
2020/06/24 Javascript
[05:48]DOTA2英雄梦之声vol21 屠夫
2014/06/20 DOTA
使用Pyrex来扩展和加速Python程序的教程
2015/04/13 Python
python通过ffmgep从视频中抽帧的方法
2018/12/05 Python
python实现翻转棋游戏(othello)
2019/07/29 Python
python range实例用法分享
2020/02/06 Python
Pyecharts 动态地图 geo()和map()的安装与用法详解
2020/03/25 Python
详解Python中的路径问题
2020/09/02 Python
弄清Pytorch显存的分配机制
2020/12/10 Python
太阳镜仓库,售价20美元或更少:Sunglass Warehouse
2016/09/28 全球购物
欧舒丹比利时官网:L’OCCITANE比利时
2017/04/25 全球购物
巴西宠物店在线:Geração Pet
2017/05/31 全球购物
政法大学毕业生自荐信范文
2014/01/01 职场文书
文明倡议书范文
2014/04/15 职场文书
星级党支部申报材料
2014/05/31 职场文书
考试作弊万能检讨书
2014/10/19 职场文书
2015年人力资源工作总结
2015/04/08 职场文书
医院合作意向书范本
2015/05/08 职场文书
行政二审代理词
2015/05/25 职场文书
Java 中的 Unsafe 魔法类的作用大全
2021/06/26 Java/Android
VUE递归树形实现多级列表
2022/07/15 Vue.js