vue 为什么不支持jquery?

vue生成代码, 我知道vue的@click绑定事件,
但是 jquery也是很好有,有很多现成的工具。

为什么 vue生成的代码 不能用jquery监听事件? 我并不打算改变dom元素。

------以上是曾经的问题-------
------2022年使用vue写了一个项目,距离提问3年后,给自己写个答案-------

总结来说,使用vue开发页是,是不需要jquery的!

具体原因:vue是数据驱动式。一句话看着简单,实际上是大不同。
如果能动手写个小项目,便会理解,数据驱动式为什么不需要jquery去选择、操作DOM。

jquery和vue操作页面方式完全不同。不要把jquery的思想带入vue。
jquery特点是DOM树的搜索, 是老一代对DOM操作的精华提炼。
基于jquery后台各种语言也都实现自已的DOM query包, 用来爬取网页内容。
网页爬取这方面,目前来说jquery还是最好的选择。

vue写项目不用关心DOM树。 只管用js对一个变量赋值,变量有数据和数据变动后,页面内容会自动渲染。

jquery中把各种成熟的库包组合起来,如template+pager+formValidator加起来,也比不上vue的开发速度。

在前端页面开发时,vue比jquery多很多优点。
如:数据驱动, 逻辑可以更好的抽离出来。
如果使用了组件,模块独立。使用组件前要搞清楚,父子组件、兄弟组件、无关系组件之间的通信方法。

最后写给之前的自已:如果你在vue中需要jquery中,代表vue用错了。正确使用它时,基本不需要去DOM中查找元素!应该去找一个vue简单的demo看看。

阅读 3.8k
4 个回答

作为数据驱动视图的框架,直接操作dom节点的行为都是不建议的。

不要拿JQ的开发思想来使用vue,既然用vue了,为啥还需要JQ。

你可以在mounted里用ref来调用dom节点
this.$refs.div.onclick = function() {}

<head>
    <script>
        document.getElementsByTagName('body')[0].onclick = function(){

        }
    </script>
</head>
<body>
</body>

为什么报错了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题