我只知道一个js库,那就是jQuery。 但我在组中的其他程序员正在改变AngularJS作为他们在新项目的默认库。

我什么都不知道。它与jQuery有什么不同? 我已经在jQuery中为类似的任务做了一组函数。我还能在AngularJS中使用jQuery的东西吗?


当前回答

我认为这张图表很好地描述了两者的差异。快速浏览一下就会发现大部分的不同之处。

我想补充的一点是,AngularJS可以遵循MVVM设计模式,而jQuery不遵循任何标准的面向对象模式。

其他回答

我想从开发人员的角度补充一些AngularJS和jQuery的区别。

在AngularJS中,你必须有一个非常结构化的视图和方法来实现你想要实现的目标。它几乎不遵循线性方式来完成任务,而是各个对象之间的交换来处理请求和操作,这是必要的,因为angular是一个基于mvc的框架。它还至少需要最终应用程序的一般蓝图,因为编码在很大程度上取决于您希望如何完成交互。

jQuery就像一首免费的诗,你写几行诗,并为你要完成的任务保持适当的关系和势头。

虽然,在Angular JS中,你应该遵循一些规则,并保持适当的势头和关系,也许它更像经典的斯宾塞十四行诗(著名的古典诗人),他的诗是结构化的,并与许多规则捆绑在一起。

与AngularJS相比,jQuery更像是一个代码和函数的集合(正如前面提到的,它非常适合DOM操作和快速实现),而AngularJS是一个真正的框架,它让开发人员能够构建一个企业web应用程序,其中包含大量的数据绑定和交换,并且组织得非常好——路由和管理。

此外,AngularJS不依赖jQuery来完成它的任务。它有两个非常出色的特性,这在任何意义上都是jQuery所没有的:

Angular JS教你如何编写代码并实现一个目标,而不仅仅是通过任何方式来实现一个目标。值得一提的是,AngularJS充分利用了javascript的核心和核心,并为你在应用程序中融入DI(依赖注入)等技术铺平了道路。要使用angularJS,你应该(或者必须)学习更多高级的Javascript编码技术。

2- Angular JS完全独立于处理指令和结构你的应用;然后你可能会简单地说jQuery也可以做到这一点(独立性),但是,确实,AngularJS,正如上面几行中提到的那样,以最优秀的基于mvc的结构方式具有独立性。

最后要说明的是,没有名字之战,因为偏见或主观是非常令人不安的。jQuery的巨大和伟大已经得到了证明,但它们的用途和局限性(任何框架或软件)是讨论和类似争论的焦点。

更新:

使用AngularJS是决定性的,因为它的实现成本很高,但为未来应用程序的扩展、转换和维护奠定了坚实的基础。AngularJS是Web新世界的代表。它的目标是构建具有以下特点的应用程序:围绕结构化系统消耗最少的资源(只从服务器加载必要的资源)、快速响应时间以及高度的可维护性和可扩展性。

我认为这张图表很好地描述了两者的差异。快速浏览一下就会发现大部分的不同之处。

我想补充的一点是,AngularJS可以遵循MVVM设计模式,而jQuery不遵循任何标准的面向对象模式。

Angular 1是一个框架,而Angular 2是一个平台。(ref)

对于开发者来说,Angular2除了在屏幕上显示数据之外,还提供了一些其他的特性。例如,使用angular2 cli工具可以帮助你“预编译”你的代码,并生成必要的javascript代码(摇树),将下载大小缩小到35Kish。

Angular2模拟Shadow DOM。(ref)

这为服务器渲染打开了一扇门,可以解决SEO问题,并与不能在浏览器上工作的Nativescript等一起工作。

官方文件网站 ng-conf 2016的第一天主题演讲 资源链接 原: 基本上,jQuery是操作和控制DOM元素的好工具。 如果你只关注DOM元素,而不关注Data CRUD,比如构建一个网站而不是web应用程序,jQuery是最好的工具之一。(你也可以使用AngularJS来实现这个目的。)

AngularJS是一个框架。它有以下特点

双向数据绑定 MVW模式(近似mvc) 模板 定制指令(可重用组件,定制标记) REST-friendly 深度链接(为任何动态页面设置链接) 表单验证 服务器通信 本地化 依赖注入 完整的测试环境(包括单元、端到端)

看看这个演示和这个很棒的介绍

别忘了阅读官方开发者指南

或者从这些很棒的视频教程中学习

如果你想看更多的教程视频,看看这个帖子,收集最好的60+ AngularJS教程。

你可以在AngularJS中使用jQuery,没有任何问题。

事实上,AngularJS使用了jQuery lite,这是一个很棒的工具。

从常见问题解答

Angular使用jQuery库吗? 是的,Angular可以使用jQuery,如果它出现在你的应用中 应用程序正在引导。如果jQuery没有出现在您的 脚本路径,Angular就会退回到它自己的 jQuery的子集,我们称之为jQLite。

但是,不要尝试使用jQuery来修改AngularJS控制器中的DOM,在你的指令中做。

更新:

Angular2被释放。这里有一个很好的资源列表,适合初学者

Jquery: -

jQuery is a lightweight and feature-rich JavaScript Library that helps web developers
by simplifying the usage of client-side scripting for web applications using JavaScript.
It extensively simplifies using JavaScript on a website and it’s lightweight as well as fast.

So, using jQuery, we can:

easily manipulate the contents of a webpage
apply styles to make UI more attractive
easy DOM traversal
effects and animation
simple to make AJAX calls and
utilities and much more… 

AngularJS: -

AngularJS is a product by none other the Search Engine Giant Google and it’s an open source
MVC-based framework(considered to be the best and only next generation framework). AngularJS
is a great tool for building highly rich client-side web applications.

As being a framework, it dictates us to follow some rules and a structured approach. It’s
not just a JavaScript library but a framework that is perfectly designed (framework tools
are designed to work together in a truly interconnected way).

In comparison of features jQuery Vs AngularJS, AngularJS simply offers more features:

Two-Way data binding
REST friendly
MVC-based Pattern
Deep Linking
Template
Form Validation
Dependency Injection
Localization
Full Testing Environment
Server Communication

AngularJS: AngularJS是用于开发重型web应用程序的。当应用程序启动时,AngularJS可以使用jQuery,如果jQuery出现在web应用程序中。如果它没有出现在脚本路径中,那么AngularJS就会退回到它自己的jQuery子集实现。

JQuery: jQuery是一个小型、快速且功能丰富的JavaScript库。它使HTML文档遍历和操作、事件处理、动画和Ajax等事情变得更加简单。jQuery简化了JavaScript中很多复杂的东西,比如AJAX调用和DOM操作。

阅读更多细节:angularjs-vs-jquery