体验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 事件冒泡简介及应用
Jan 11 Javascript
JS定义回车事件(实现代码)
Jul 08 Javascript
js代码实现的加入收藏效果并兼容主流浏览器
Jun 23 Javascript
JS使用for循环遍历Table的所有单元格内容
Aug 21 Javascript
jQuery往textarea中光标所在位置插入文本的方法
Jun 26 Javascript
深入浅析JavaScript面向对象和原型函数
Feb 06 Javascript
【经验总结】编写JavaScript代码时应遵循的14条规律
Jun 20 Javascript
微信小程序 绘图之饼图实现
Oct 24 Javascript
JavaScript使用Ajax上传文件的示例代码
Aug 10 Javascript
node.js操作MongoDB的实例详解
Oct 11 Javascript
微信小程序可滑动月日历组件使用详解
Oct 21 Javascript
vue+element 实现商城主题开发的示例代码
Mar 26 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
基于Windows下Apache PHP5.3.1安装教程
2010/01/08 PHP
web站点获取用户IP的安全方法 HTTP_X_FORWARDED_FOR检验
2013/06/01 PHP
PHP将回调函数作用到给定数组单元的方法
2014/08/19 PHP
php中call_user_func函数使用注意事项
2014/11/21 PHP
php中base64_decode与base64_encode加密解密函数实例
2014/11/24 PHP
PHP批量去除BOM头代码分享
2015/06/26 PHP
PHP+iframe图片上传实现即时刷新效果
2016/11/18 PHP
laravel5.2实现区分前后台用户登录的方法
2017/01/11 PHP
PHP实现Unicode编码相互转换的方法示例
2020/11/17 PHP
JavaScript 的方法重载效果
2009/08/07 Javascript
Extjs中常用表单介绍与应用
2010/06/07 Javascript
Jquery中使用setInterval和setTimeout的方法
2013/04/08 Javascript
js对列表中第一个值处理与jsp页面对列表中第一个值处理的区别详解
2013/11/05 Javascript
浅谈JavaScript异常处理语句
2015/06/26 Javascript
Javascript中神奇的this
2016/01/20 Javascript
jquery跟随屏幕滚动效果的实现代码
2016/04/13 Javascript
AngularJS实用开发技巧(推荐)
2016/07/13 Javascript
JS设置CSS样式的方式汇总
2017/01/21 Javascript
解决Js先触发失去焦点事件再执行点击事件的问题
2018/08/30 Javascript
Vue.directive使用注意(小结)
2018/08/31 Javascript
[54:29]2018DOTA2亚洲邀请赛 4.7 淘汰赛 VP vs LGD 第二场
2018/04/09 DOTA
django模型中的字段和model名显示为中文小技巧分享
2014/11/18 Python
python 给DataFrame增加index行名和columns列名的实现方法
2018/06/08 Python
python中报错&quot;json.decoder.JSONDecodeError: Expecting value:&quot;的解决
2019/04/29 Python
使用 Supervisor 监控 Python3 进程方式
2019/12/05 Python
python3环境搭建过程(利用Anaconda+pycharm)完整版
2020/08/19 Python
详解pytorch中squeeze()和unsqueeze()函数介绍
2020/09/03 Python
纯CSS3实现Material Design效果
2017/03/09 HTML / CSS
HTML5新增的表单元素和属性实例解析
2014/07/07 HTML / CSS
移动端解决悬浮层(悬浮header、footer)会遮挡住内容的3种方法
2015/03/27 HTML / CSS
H5 meta小结(前端必看篇)
2016/08/24 HTML / CSS
canvas环形倒计时组件的示例代码
2018/06/14 HTML / CSS
公司股权转让协议书
2014/04/12 职场文书
教师节老师寄语
2015/05/28 职场文书
二婚主持词
2015/06/30 职场文书
python中super()函数的理解与基本使用
2021/08/30 Python