AngularJS 是一个复杂的框架,具有中等到陡峭的学习曲线。JQuery 不是一个框架,而是一个库。如果您正在寻找构建单页应用程序,尤其是 CRUD 应用程序,那么 AngularJS 非常适合,因为它将提供两种方式的数据绑定、路由(对于单页应用程序很重要)以及许多其他开箱即用的功能。
它使用 jQlite jQuery 的一个子集,但它对应用程序的构建方式持固执己见,这意味着您需要深入了解它的工作原理,您需要了解控制器、服务和指令以及为什么只应该在指令中更新 DOM .
单页应用程序可以单独使用 jQuery 完成,但您必须自己管理框架方面的事情。
如果您在 AngularJS 之前包含 jQuery,它将取代 jQlite,以掌握基础知识,从而用知识武装自己来做出使用决策,请在 egghead.io 上查看这些出色的视频。
何时使用 jQuery
当您无法以 Angular 方式做某事时,您会使用 jQuery,这通常是在您处于框架的边界时。
例子:
这方面的一个例子是 Angular 没有办法禁用选择元素中的项目。您可以在这里使用 jQuery 来监听 select 上的更改事件,并自己从指令中操作 UI。请参阅下面的更新。
例如,如果您使用第三方库,您可能需要使用 jQuery 触发事件并在第三方代码或其他地方获取它。在这里,您会发现 jQuery 或类似 pubsub 的东西非常宝贵。
更新
关于路由能力,我强烈推荐优秀的UI-Router而不是开箱即用的路由器。
更新 v2
Angular 1.4 现在支持在选择元素中禁用选项。