首頁  >  問答  >  主體

angular.js - AngularJS 比 jQuery 強大嗎?強大在哪

如果說 AngularJS 比 jQuery 強大,強大在哪裡?

PHP中文网PHP中文网2713 天前1318

全部回覆(13)我來回復

  • 阿神

    阿神2017-05-15 16:59:55

    以上回到顯然不合理,可能是沒有用過ng,ng比jq強大的地方主要是:

    jquery修改元素是透過手動操作dom,ng修改了資料就自動同步到dom
    例如有一個列表要展現:

    <ul ng-repeat="i in list"><li>{{i}}</li></ul>
    

    ng代碼:$scope.list = [1,2,3], 修改list $scope.list[2] = 4
    dom的ul第3個li就自動變成4了

    而jq,程式碼大概需要:

    list[2] = 4
    $('ul').html('')
    $.each(list, function(i,v){ $('ul').append('....') })
    

    說穿了就是ng執行要把資料修改了html就自動變了,jq的話修改資料了還要自己修改html
    而且,ng中,html(例如表單的input的value)變了後,資料自動變了,而jq還需要var data = $('input').val();

    這叫資料的雙向綁定。

    當然ng只適合單頁應用,不利於seo,這是另外的事

    回覆
    0
  • 怪我咯

    怪我咯2017-05-15 16:59:55

    這是兩個完全不同理念的東西,沒有可比性。

    回覆
    0
  • 滿天的星座

    滿天的星座2017-05-15 16:59:55

    首先這兩者可比較性不大,jquery的重點在於提供了多樣的元素選擇以及選出元素的各類方法提供,幫助開發者快速進行頁面開發。但從本質上來說,並不是程序框架性質的框架。而且,選擇器角度也可以很多直接用原生去實現,而angular更在於其數據和頁面的自動綁定所能帶來的開發便利,更符合頁面相對交互不多,更多中心在於數據呈現的場景下使用。
    所以lz要比較其實應該比較的是backbone和angular這兩個。

    回覆
    0
  • 滿天的星座

    滿天的星座2017-05-15 16:59:55

    我之前花很長時間寫的一個 Markdown 編輯器中的大部分程式碼,其實只是實作了 AngularJS 的一點皮毛;而 jQuery 的許多功能我都很快地自己寫了實作。

    讀過 jQuery 核心的程式碼,感覺 jQuery 提供的是一種書寫風格,而 AngularJS 才是真正強大的難以自己實現的,JS 所缺少的一角,打開了一種全新的思路。

    當然,jQuery 和 AngularJS 專注的地方本來就不一樣,在各自領域都有各自的應用。
    只是論自己實現的難度,AngularJS 大於 jQuery。

    jQuery 專注於程式碼,AngularJS 專注於架構和功能。

    Reference: http://damoqiongqiu.iteye.com/blog/1926475 https://angularjs.org/
    http://jquery.com/

    回覆
    0
  • phpcn_u1582

    phpcn_u15822017-05-15 16:59:55

    從功能上來說這兩個東西根本沒有可比性。
    如果從整個程式碼的寫法來看,我感覺jquery寫的更優美。但其實這個沒有絕對,畢竟每個人都不同。

    回覆
    0
  • ringa_lee

    ringa_lee2017-05-15 16:59:55

    真的是沒有可比性,jQuery只是一個操作DOM的類別函式庫而已,而AngularJS是是MVC(或MVVM)框架。
    AngularJS實作了讓View和資料完全分離,提供的資料雙向綁定功能只要修改資料就時時同步了View,基本上不用手動操作DOM。
    當然AngularJS除了資料雙向綁定功能外,還提供了 路由、服務、過濾器、模板、指令、模組管理、依賴注入、單元測試等功能。

    不知道這樣說了以後你是否有直覺的了解2者之間的區別了。

    回覆
    0
  • PHP中文网

    PHP中文网2017-05-15 16:59:55

    這個問題好比在問錘子比螺絲起子強嗎,強大在哪裡?
    不同的理念,誰也代替不了誰,真的談不上誰比較強大,看需求選擇使用哪一個,都是很好用的工具。

    有人拿jqueryui跟angularjs比較,覺得好傻


    Angular是整體開發的框架模式,不管是什麼樣的框架在具體實現時需要有利的工具輔助實現,而此時jquery發揮巨大的工具作用,是一把非常好用的瑞士軍刀,哈哈,所以也叫鋒利的jquery,Angular是框架和jquery負責不同層面的工作,Angular的數據DOM的雙向綁定比較弱,當然,也有很多人認為這很強大,因為這特性在弱結構弱交互頁面中確實很便利,在複雜的結構強交互的頁面中,Angular的這個綁定特性的優勢也立刻成了沒什麼用的雞肋。這兩者沒有任何衝突,以我的工作來比方,把Angular理解為房屋的建築結構有框架結構框剪結構有磚混結構,把jquery理解為房屋的裝修樣式,有歐式,現代,東南亞風格,現在明白了吧,兩者是獨立的不存在衝突更不存在有什麼選擇的比較。

    回覆
    0
  • 仅有的幸福

    仅有的幸福2017-05-15 16:59:55

    一個是MVC框架,一個是函式庫。一個外在的體現了設計思想,一個簡化並強化了原生的js。我們也可以用jq實作自己的框架。所以沒有可比性。

    回覆
    0
  • 大家讲道理

    大家讲道理2017-05-15 16:59:55

    AngularJS很成功地在團隊成員JS能力不足的情況下,
    讓Java開發人員把這部分較好地寫起來了。

    好的前端程式設計師,會盡可能的把前後端資料互動操作進行分離,前端程式設計師只需要每個頁面提供一鍵傻瓜式js 方法,後端只需按照資料模版返回固定格式資料後呼叫即可( )

    js 能力不足 ,以及對 dom 操作不熟練的程式設計師 ,則需要AngularJS 這種效率低下 ,貌似易用的框架

    所以說白了,AngularJS 是給js 能力不足,嚴重依賴框架的java程式設計師用的蹩腳方案
    AngularJS 是一個重量級的前端框架,也就是說很吃性能,適合對頁面性能交互要求不高的地方;

    總結:不懂前端的程式設計師,總是想把後端思想帶進 前端, 前後不分,AngularJS 是提供給前端技術思想不好的程式設計師的妥協方案

    回覆
    0
  • 淡淡烟草味

    淡淡烟草味2017-05-15 16:59:55

    比較就比較,有什麼愚蠢不愚蠢的,太多維度可以做比較了,多少程式設計師從熟悉jQuery到新學習angular,這個過程必然經歷兩者的比較。本身就是很多趨勢,越來越多人用angular取代了jquery,或許就能說明誰強大,雖然我比較喜歡jQuery。

    回覆
    0
  • 取消回覆