体验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插件tipswindown与hintbox冲突
Nov 05 Javascript
window.event快达到全浏览器支持了,以后使用就方便了
Nov 30 Javascript
将input file的选择的文件清空的两种解决方案
Oct 21 Javascript
Jquery Ajax解析XML数据(同步及异步调用)简单实例
Feb 12 Javascript
jquery模拟LCD 时钟的html文件源代码
Jun 16 Javascript
jquery图片切换实例分析
Apr 15 Javascript
js限制文本框只能输入整数或者带小数点的数字
Apr 27 Javascript
js学习总结之DOM2兼容处理顺序问题的解决方法
Jul 27 Javascript
原生JS与jQuery编写简单选项卡
Oct 30 jQuery
javascript、php关键字搜索函数的使用方法
May 29 Javascript
微信小程序分享海报生成的实现方法
Dec 10 Javascript
一分钟学会JavaScript中的try-catch
Dec 14 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使用异或实现的加密解密实例
2013/09/04 PHP
php+highchats生成动态统计图
2014/05/21 PHP
PHP两种去掉数组重复值的方法比较
2014/06/19 PHP
如何离线执行php任务
2017/02/21 PHP
javascript使用eval或者new Function进行语法检查
2010/10/16 Javascript
Textarea与懒惰渲染实现代码
2012/01/04 Javascript
用js来定义浏览器中一个左右浮动元素相对于页面主体宽度的位置的函数
2012/01/21 Javascript
Js 冒泡事件阻止实现代码
2013/01/27 Javascript
js改变img标签的src属性在IE下没反应的解决方法
2013/07/23 Javascript
Javascript倒计时页面跳转实例小结
2013/09/11 Javascript
用JS做的简单的可折叠的两级树形菜单
2013/09/21 Javascript
JS 操作Array数组的方法及属性实例解析
2014/01/08 Javascript
jquery实现个人中心导航菜单效果和美观都非常不错
2014/09/02 Javascript
jQuery使用$.each遍历json数组的简单实现方法
2016/04/18 Javascript
javascript input输入框模糊提示功能的实现
2017/09/25 Javascript
Windows下Node爬虫神器Puppeteer安装记
2019/01/09 Javascript
JavaScript设计模式之装饰者模式实例详解
2019/01/17 Javascript
基于Koa(nodejs框架)对json文件进行增删改查的示例代码
2019/02/02 NodeJs
python获取Linux下文件版本信息、公司名和产品名的方法
2014/10/05 Python
Ubuntu 14.04+Django 1.7.1+Nginx+uwsgi部署教程
2014/11/18 Python
基于Python 的进程管理工具supervisor使用指南
2016/09/18 Python
Python面向对象编程基础解析(二)
2017/10/26 Python
Python 实现一行输入多个值的方法
2018/04/21 Python
用python3 urllib破解有道翻译反爬虫机制详解
2019/08/14 Python
在Python中通过threshold创建mask方式
2020/02/19 Python
TensorFlow实现模型断点训练,checkpoint模型载入方式
2020/05/26 Python
PyCharm2020.1.2社区版安装,配置及使用教程详解(Windows)
2020/08/07 Python
CSS3教程(10):CSS3 HSL声明设置颜色
2009/04/02 HTML / CSS
亚马逊加拿大网站:Amazon.ca
2020/01/06 全球购物
介绍一下mysql的日期和时间函数
2013/03/28 面试题
宝宝满月酒主持词和仪式流程
2014/03/27 职场文书
心理健康日活动总结
2014/05/08 职场文书
交通事故一次性赔偿协议书范本
2014/11/02 职场文书
上班迟到检讨书
2015/05/06 职场文书
科技活动总结范文
2015/05/11 职场文书
OpenCV-Python实现轮廓的特征值
2021/06/09 Python