首页  >  问答  >  正文

angular.js - AngularJS 比 jQuery 强大吗?强大在哪

如果说 AngularJS 比 jQuery 强大,强大在哪?

PHP中文网PHP中文网2713 天前1316

全部回复(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
  • 取消回复