体验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 相关文章推荐
我也种棵OO树JXTree[js+css+xml]
Apr 02 Javascript
清华大学出版的事半功倍系列 javascript全部源代码
May 04 Javascript
jQuery版仿Path菜单效果
Dec 15 Javascript
javascript中call,apply,bind的用法对比分析
Feb 12 Javascript
原生javascript 学习之js变量全面了解
Jul 14 Javascript
JS当前页面登录注册框,固定DIV,底层阴影的实例代码
Sep 29 Javascript
解析如何利用iframe标签以及js制作时钟
Dec 08 Javascript
vue.js使用v-model指令实现的数据双向绑定功能示例
May 22 Javascript
详解js常用分割取字符串的方法
May 15 Javascript
node将geojson转shp返回给前端的实现方法
May 29 Javascript
微信小程序解析富文本过程详解
Jul 13 Javascript
Vue搭建后台系统需要注意的问题
Nov 08 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&amp;&amp;mysql)一
2006/10/09 PHP
一个PHP分页类的代码
2011/05/18 PHP
一个严格的PHP Session会话超时时间设置方法
2014/06/10 PHP
浅谈PHP中output_buffering
2015/07/13 PHP
Yii rules常用规则示例
2016/03/15 PHP
PHP与SQL语句常用大全
2016/12/10 PHP
JavaScript中使用正则匹配多条,且获取每条中的分组数据
2010/11/30 Javascript
一个页面放2段图片滚动代码出现冲突的问题如何解决
2012/12/21 Javascript
Extjs4 GridPanel的主要配置参数详细介绍
2013/04/18 Javascript
js正文内容高亮效果的实现方法
2013/06/30 Javascript
用JavaScript实现类似于ListBox功能示例代码
2014/03/09 Javascript
JavaScript中常见的字符串操作函数及用法汇总
2015/05/04 Javascript
json格式数据的添加,删除及排序方法
2016/01/21 Javascript
BootStrap 超链接变按钮的实现方法
2016/09/25 Javascript
概述javascript在Google IE中的调试技巧
2016/11/24 Javascript
vue短信验证性能优化如何写入localstorage中
2018/04/25 Javascript
react中使用swiper的具体方法
2018/05/15 Javascript
React中使用UMEditor的方法示例
2019/12/27 Javascript
详解vue3.0 的 Composition API 的一种使用方法
2020/10/26 Javascript
Vue项目利用axios请求接口下载excel
2020/11/17 Vue.js
python中lambda函数 list comprehension 和 zip函数使用指南
2014/09/28 Python
Sanic框架Cookies操作示例
2018/07/17 Python
python实现大战外星人小游戏实例代码
2019/12/26 Python
解决python中显示图片的plt.imshow plt.show()内存泄漏问题
2020/04/24 Python
Python更换pip源方法过程解析
2020/05/19 Python
django 实现后台从富文本提取纯文本
2020/07/02 Python
移动端开发HTML5页面点击按钮后出现闪烁或黑色背景的解决办法
2018/09/19 HTML / CSS
机电专业个人自荐信格式模板
2013/09/23 职场文书
工程造价管理专业大专生求职信
2013/10/06 职场文书
2014年道德讲堂实施方案
2014/03/05 职场文书
库房管理员岗位职责
2014/03/09 职场文书
巴黎圣母院观后感
2015/06/10 职场文书
Python使用openpyxl批量处理数据
2021/06/23 Python
spring boot中nativeQuery的用法
2021/07/26 Java/Android
国庆节到了,利用JS实现一个生成国庆风头像的小工具 详解实现过程
2021/10/05 Javascript
Vue组件更新数据v-model不生效的解决
2022/04/02 Vue.js