【问题标题】:Why not use jQuery with Vue.js for AJAX?为什么不将 jQuery 与 Vue.js 一起用于 AJAX?
【发布时间】:2019-07-24 09:02:29
【问题描述】:

我正在尝试优化使用 Vue.js 的新建项目的引用。它还使用 Bootstrap,它的一些魔力需要 jQuery,所以 jQuery 已经在其中。虽然我无意使用它的 DOM 操作工具,但 jQuery 已经存在,所以有充分的理由不只将它用于我的 Vue 组件中的 AJAX 调用吗? jQuery 和 axios 之间的语法非常相似,所以如果我可以避免添加另一个库,那就太棒了。

【问题讨论】:

  • 你考虑过只用香草fetch吗?
  • IMO,如果您的应用需要并使用 jQuery。没有真正的理由包含另一个库来处理 AJAX。 @SebastianSpeitel 打败了我!在 jQuery 中使用 fetch 和 polyfill - caniuse.com/#feat=fetch
  • @SebastianSpeitel 是的,但无论如何我都必须为此进行 polyfill 以实现兼容性,这似乎是一个半步。
  • jQuery 和 Vue.js 在一起听起来很糟糕,因为它们是不同代的解决方案。您应该使用 fetch 并默认删除 jQuery,因为它已过时,尤其是在新项目中。

标签: javascript jquery vue.js


【解决方案1】:

“不要在 Vue 中使用 jQuery 进行 AJAX”口头禅背后的原因是:

  • 如果$ 已经在组件中可用,那么查询或操作 DOM 会比使用v-modelv-if:class 等更有诱惑力。
  • Axios 是一个优秀的 AJAX 库,使用的数据比 jQuery 少。
  • 使用 jQuery 可能会导致 jQuery 插件和 Vue 组件之间的混合难以维护。

我的建议是写一个简单的api.js帮助文件,方法如下:

api.get(url) 
api.post(url, data)
...etc.

这些方法可能在内部使用 $.ajax,但当您升级到 Bootstrap 5 (which doesn't require jQuery) 时,您可以将实现更改为其他方式。

【讨论】:

  • 是的,我明白了,但是 Bootstrap today 使用 jQuery,所以它已经存在了。 BS5 甚至还没有路线图或活跃的开发者。
  • 除了上面的反对意见,我认为使用 jQuery 没有问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-07-09
  • 2015-07-24
  • 2017-09-18
  • 1970-01-01
  • 1970-01-01
  • 2012-01-17
  • 1970-01-01
相关资源
最近更新 更多