体验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 相关文章推荐
动态控制Table的js代码
Mar 07 Javascript
在JavaScript里嵌入大量字符串常量的实现方法
Jul 07 Javascript
js的alert弹出框出现乱码解决方案
Sep 02 Javascript
jQuery实现本地预览上传图片功能
Jan 08 Javascript
微信小程序 wx.request(object) API详解及实例代码
Sep 30 Javascript
详解前端自动化工具gulp自动添加版本号
Dec 20 Javascript
Angular项目中$scope.$apply()方法的使用详解
Jul 26 Javascript
vue内置指令详解
Apr 03 Javascript
JS打印彩色菱形的实例代码
Aug 15 Javascript
ES6知识点整理之Proxy的应用实例详解
Apr 16 Javascript
微信小程序如何实现全局重新加载
Jun 05 Javascript
node+vue实现文件上传功能
May 28 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获取ip的三个属性区别介绍(HTTP_X_FORWARDED_FOR,HTTP_VIA,REMOTE_ADDR)
2012/09/23 PHP
PHP登录环节防止sql注入的方法浅析
2014/06/30 PHP
PHP打印输出函数汇总
2016/08/28 PHP
php快速导入大量数据的实例方法
2019/09/23 PHP
PHP超级全局变量【$GLOBALS,$_SERVER,$_REQUEST等】用法实例分析
2019/12/11 PHP
游戏人文件夹程序 ver 3.0
2006/07/14 Javascript
用ADODB.Stream转换
2007/01/22 Javascript
javascript 面向对象编程基础:封装
2009/08/21 Javascript
JS实现self的resend
2010/07/22 Javascript
js window.print实现打印特定控件或内容
2013/09/16 Javascript
jquery如何把数组变为字符串传到服务端并处理
2014/04/30 Javascript
javascript之with的使用(阿里云、淘宝使用代码分析)
2016/10/11 Javascript
使用ReactJS实现tab页切换、菜单栏切换、手风琴切换和进度条效果
2016/10/17 Javascript
基于Vuejs框架实现翻页组件
2020/06/29 Javascript
JS实用的带停顿的逐行文本循环滚动效果实例
2016/11/23 Javascript
深入理解ES6中let和闭包
2018/02/22 Javascript
解决vue单页使用keep-alive页面返回不刷新的问题
2018/03/13 Javascript
使用vue-router完成简单导航功能【推荐】
2018/06/28 Javascript
vue生命周期和react生命周期对比【推荐】
2018/09/19 Javascript
Vue中computed、methods与watch的区别总结
2019/04/10 Javascript
通过实践编写优雅的JavaScript代码
2019/05/30 Javascript
在Python的Flask框架中使用模版的入门教程
2015/04/20 Python
Python中处理字符串之isalpha()方法的使用
2015/05/18 Python
Python查询阿里巴巴关键字排名的方法
2015/07/08 Python
css3 flex实现div内容水平垂直居中的几种方法
2020/03/27 HTML / CSS
匡威比利时官网:Converse Belgium
2017/04/13 全球购物
高级3D打印市场:Gambody
2019/12/26 全球购物
奠基仪式策划方案
2014/05/15 职场文书
科学发展观活动总结
2014/08/28 职场文书
环卫工人慰问信
2015/02/15 职场文书
2015年幼儿园个人工作总结
2015/04/25 职场文书
2015年班主任德育工作总结
2015/05/21 职场文书
小学班级管理心得体会
2016/01/07 职场文书
详解Golang如何优雅的终止一个服务
2022/03/21 Golang
TV动画《政宗君的复仇》第二季制作决定PV公布
2022/04/02 日漫
使用python绘制分组对比柱状图
2022/04/21 Python