体验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 相关文章推荐
一个加载js文件的小脚本
Jun 28 Javascript
JQuery的ajax基础上的超强GridView展示
Sep 18 Javascript
javascript的数据类型、字面量、变量介绍
May 23 Javascript
jQuery插件jRumble实现网页元素抖动
Jun 05 Javascript
vue,angular,avalon这三种MVVM框架优缺点
Apr 27 Javascript
微信小程序 POST请求(网络请求)详解及实例代码
Nov 16 Javascript
微信小程序scroll-view实现横向滚动和上拉加载示例
Mar 06 Javascript
前端常见跨域解决方案(全)
Sep 19 Javascript
详解如何在vue项目中使用lodop打印插件
Sep 27 Javascript
Laravel admin实现消息提醒、播放音频功能
Jul 10 Javascript
TensorFlow.js 微信小程序插件开始支持模型缓存的方法
Feb 21 Javascript
vuex Module将 store 分割成模块的操作
Dec 07 Vue.js
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
人族 Terran 魔法与科技
2020/03/14 星际争霸
用PHP将数据导入到Foxmail的实现代码
2010/09/05 PHP
使用Sphinx对索引进行搜索
2013/06/25 PHP
Php中使用Select 查询语句的实例
2014/02/19 PHP
ThinkPHP查询语句与关联查询用法实例
2014/11/01 PHP
详谈PHP文件目录基础操作
2014/11/11 PHP
fckeditor上传文件按日期存放及重命名方法
2015/05/22 PHP
php数据序列化测试实例详解
2017/08/12 PHP
PHP实现会员账号单唯一登录的方法分析
2019/03/07 PHP
PHP之认识(二)关于Traits的用法详解
2019/04/11 PHP
JSQL 基于客户端的成绩统计实现方法
2010/05/05 Javascript
子窗口、父窗口和Silverlight之间的相互调用
2010/08/16 Javascript
基于jQuery的让非HTML5浏览器支持placeholder属性的代码
2011/05/24 Javascript
JQuery插入DOM节点的方法
2015/06/11 Javascript
JS从一组数据中找到指定的单条数据的方法
2016/06/02 Javascript
简单实现nodejs上传功能
2017/01/14 NodeJs
jQuery插件扩展操作入门示例
2017/01/16 Javascript
javascript实现考勤日历功能
2018/11/29 Javascript
Fundebug支持监控微信小程序HTTP请求错误的方法
2019/02/21 Javascript
AngularJs中$cookies简单用法分析
2019/05/30 Javascript
Python算法之栈(stack)的实现
2014/08/18 Python
Python3利用SMTP协议发送E-mail电子邮件的方法
2017/09/30 Python
Python提取转移文件夹内所有.jpg文件并查看每一帧的方法
2019/06/27 Python
python pyinstaller打包exe报错的解决方法
2019/11/02 Python
Python爬虫爬取杭州24时温度并展示操作示例
2020/03/27 Python
Python基于pyecharts实现关联图绘制
2020/03/27 Python
python制作抽奖程序代码详解
2021/01/15 Python
世界上最好的足球商店:Unisport
2019/03/02 全球购物
动员大会主持词
2014/03/20 职场文书
小学校园之星事迹材料
2014/05/16 职场文书
党员承诺书怎么写
2014/05/20 职场文书
园林技术专业求职信
2014/07/28 职场文书
干部作风整顿个人剖析材料
2014/10/06 职场文书
经典搞笑版检讨书
2015/02/19 职场文书
地雷战观后感
2015/06/09 职场文书
TV动画「神渣☆爱豆」公开第一弹主视觉图
2022/03/21 日漫