欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

体验jQuery和AngularJS的不同点及AngularJS的迷人之处

程序员文章站 2023-02-19 10:43:57
angualrjs是一个很贴心的web应用框架。它有很不错的官方文档和示例;经过在现实环境中的测试著名的todomvc project,它在海量的框架中脱颖而出;而且网上到...

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