体验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 相关文章推荐
在b/s开发中经常用到的javaScript技术
Aug 23 Javascript
Javascript document.referrer判断访客来源网址
May 15 Javascript
javascript开发技术大全 第4章 直接量与字符集
Jul 03 Javascript
简单时间提示DEMO从0开始一直进行计时
Nov 19 Javascript
JS时间特效最常用的三款
Aug 19 Javascript
angular.bind使用心得
Oct 26 Javascript
学JavaScript七大注意事项【必看】
May 04 Javascript
详解Vue中过度动画效果应用
May 25 Javascript
React Native 集成jpush-react-native的示例代码
Aug 16 Javascript
详解tween.js的使用教程
Sep 14 Javascript
vue+element表格导出为Excel文件
Sep 26 Javascript
keep-alive保持组件状态的方法
Dec 02 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
让你的网站可编辑的实现js代码
2009/10/19 Javascript
JQuery上传插件Uploadify使用详解及错误处理
2010/04/27 Javascript
js过滤数组重复元素的方法
2010/09/05 Javascript
JavaScript设计模式之原型模式(Object.create与prototype)介绍
2014/12/28 Javascript
简介JavaScript中的getSeconds()方法的使用
2015/06/10 Javascript
jQuery实现切换页面过渡动画效果
2015/10/29 Javascript
Jquery轮播效果实现过程解析
2016/03/30 Javascript
多种jQuery绑定事件的实现方式
2016/06/13 Javascript
jQuery插入节点和移动节点用法示例(insertAfter、insertBefore方法)
2016/09/08 Javascript
JavaScript 继承详解(六)
2016/10/11 Javascript
Bootstrap布局之栅格系统学习笔记
2017/05/04 Javascript
Angular2使用jQuery的方法教程
2017/05/28 jQuery
vue父组件中获取子组件中的数据(实例讲解)
2017/09/27 Javascript
vue利用better-scroll实现轮播图与页面滚动详解
2017/10/20 Javascript
jQuery NProgress.js加载进度插件的简单使用方法
2018/01/31 jQuery
jQuery实现的页面详情展开收起功能示例
2018/06/11 jQuery
Cordova(ionic)项目实现双击返回键退出应用
2019/09/17 Javascript
JS面向对象之单选框实现
2020/01/17 Javascript
使用Node.js实现base64和png文件相互转换的方法
2020/03/11 Javascript
微信小程序实现可长按移动控件
2020/11/01 Javascript
通过Python使用saltstack生成服务器资产清单
2016/03/01 Python
Python开发的HTTP库requests详解
2017/08/29 Python
Python set常用操作函数集锦
2017/11/15 Python
Python语言实现百度语音识别API的使用实例
2017/12/13 Python
Python random模块用法解析及简单示例
2017/12/18 Python
使用python爬虫实现网络股票信息爬取的demo
2018/01/05 Python
Windows下python3.7安装教程
2018/07/31 Python
python实现简单的文字识别
2018/11/27 Python
Python基于当前时间批量创建文件
2020/05/07 Python
容易被忽略的Python内置类型
2020/09/03 Python
校长先进事迹材料
2014/02/01 职场文书
中药专业毕业自荐书范文
2014/02/08 职场文书
2014年母亲节演讲稿范文
2014/05/07 职场文书
2014年学生工作总结
2014/11/20 职场文书
幼儿园中班班级总结
2015/08/10 职场文书
Spring boot实现上传文件到本地服务器
2022/08/14 Java/Android