32

我是一名 JQuery 程序员,希望在我的下一个项目中使用 AngularJS。在阅读了这个关于如何“在 Angular 中思考”而不是包含和使用 JQuery 的优秀答案之后,我想知道使用 JQuery + Angular 有哪些好的用例。我想为我的 Angular 编程带来一些熟悉感。

引用 Stackoverflow 帖子:

“底线是:解决问题时,首先“在 AngularJS 中思考”;如果您想不出解决方案,请咨询社区;如果毕竟没有简单的解决方案,请随意使用 jQuery "

我应该什么时候使用 JQuery?

4

2 回答 2

15

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 现在支持在选择元素中禁用选项。

于 2013-03-02T20:50:43.727 回答
14

我认为您问题引文中的关键词是“*如果毕竟没有简单的解决方案*”

我想知道使用 JQuery + Angular 有哪些好的用例。

用例:我正在做的一个项目使用 Zurb Foundation 的“显示”组件作为模态窗口,我特别喜欢这个。它与我正在开发的应用程序相得益彰。当然有一个 Angular UI 项目具有模态窗口,但我更喜欢在这种情况下显示。

这依赖于 JQuery。用户 blesh 回答了关于如何在此处以 AngularJS 方式合并的好主意。

经过一番研究,如果你得出结论,你可以在 JQuery 中做一些更容易的事情,那就去做,但一定要以 AngularJS 的方式集成组件。

无论如何,这就是我的看法。

于 2013-02-26T00:23:54.180 回答