體驗jQuery和AngularJS的不同點以及AngularJS的迷人之處

Darren Ji發表於2016-02-02

 

本篇通過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應對變化的成本更低也更靈活

 

相關文章