【问题标题】:Is it a bad practice to use jQuery in Angular? [closed]在 Angular 中使用 jQuery 是一种不好的做法吗? [关闭]
【发布时间】:2019-05-01 06:32:47
【问题描述】:

我的问题如下。我是否应该避免在 Angular 应用程序中使用任何类型的 jQuery 代码,因为只有一件事与 DOM 交互似乎是合法的。 另一个问题是,是否有人遇到了除了使用 jQuery 编写快速 hack 之外找不到任何其他解决方案的问题。

谢谢!

【问题讨论】:

  • 我会说使用其中任何一个都是不好的做法,但这只是我的意见。这个问题也很固执,并不真正适合stackoverflow。
  • 它增加了很多捆绑包的大小,这对慢速网络和 CPU(移动!)非常不利。选择器和事件通常由 React 和 Angular 等库解决,因此您不需要 jQuery 来帮助解决浏览器兼容性和 API 差异。有人可以说这是一种意见,但我敢说两者都用是不好的。
  • 你永远不应该在 AngularJS 应用程序中包含 jQuery。这样做是不好的做法。但是,如果您使用一些包含在指令中的老式 jQuery 插件,并且包含了 jQuery,那么当您在后台处理插件时使用 jQuery 是完全可以的,即需要定位属性等。有很多SO上的“宗教”人士告诉你不要使用jQuery,但实际上他们中的大多数人并没有意识到他们自己正在使用jQuery,例如,如果他们使用的是bootstrap之类的框架。简短:如果您不需要 jQuery 作为依赖项,那么您不应该使用 jQuery。

标签: javascript jquery angularjs angular software-design


【解决方案1】:

是的,这是一种不好的做法,但有时它会为您节省很多时间,尤其是在您寻找插件时, 仅在必要时执行此操作,并记下以在其他解决方案可用时将其切换回来。

【讨论】:

    【解决方案2】:

    您应该做的第一件事是阅读 SO "Thinking in AngularJS" if I have a jQuery background? 上的此线程。这会给你一些观点。

    对于 Angular,它是驱动视图的模型,并且大多数时候不需要直接 DOM 操作。

    例如,如果您使用 DOM 操作来显示\隐藏元素,添加删除类或设置样式,那么最好使用 ng-show\ng-class\ng-style 指令。

    但在某些情况下需要 DOM 操作,那就是您编写指令并使用 jqLit​​e 或 jQuery 来操作 DOM。

    我的建议是避免使用 jQuery,除非你必须合并一个依赖于 jQuery 的 jquery 插件。

    在开发时,请始终查看是否可以满足您的目的的内置指令。如果不能,可以使用 jqLit​​e 来实现所需的功能。你最后的选择应该是 jQuery。

    【讨论】:

    • 谢谢,这让它更清楚了一点。
    • 欢迎亲爱的。如果这对您来说很清楚,那么您可以将其标记为已回答!
    【解决方案3】:

    嗯,这只是两个大资源,这使您的应用“沉重”。否则,这只是一个偏好。就我个人而言,我不将 jQuery 与任何反应式框架(Vue、React 或 Angular)一起使用。
    请记住,任何 jQuery 可以做的事情,你都可以用 vanilla JS 做。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-01-12
      • 2017-05-08
      • 2021-10-27
      • 2021-09-24
      • 2014-07-27
      • 2017-05-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多