本篇通过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应对变化的成本更低也更灵活。