本教程操作环境:windows7系统、jquery1.10.2&&vue2.9.6版本、dell g3电脑。
jquery 和 vuejs 合理使用并不会造成冲突,因为他们的侧重点不同,vuejs 侧重数据绑定和视图组件,jquery 侧重异步请求和动画效果。如果使用jquery + vuejs 开发,一定要在 vue 渲染完所有的 html组件之后再通过 jquery 处理,而使用 jquery 时应避免直接操作 dom ,但是应用动画是允许的。
jquery 与 vuejs 相互配合可以非常高效的完成异步任务,首先通过 jquery 发出 ajax 请求,接受到服务端传递的 json 数据后,再通过 vue 将数据绑定到组件上,最后由 jquery 进行动画处理,整个过程就如行云流水般自然。
vue项目中使用jquery的方法
假设你已经使用vue-cli搭建好了开发的脚手架,接下来,看下面。
1、npm 安装 jquery,项目根目录下运行以下代码
npm install jquery --save
2、webpack配置
在项目根目录下的build目录下找到webpack.base.conf.js文件,在开头使用以下代码引入webpack,因为该文件默认没有引用。
var webpack = require('webpack')
然后在module.exports中添加一段代码,
// 原有代码resolve: { extensions: ['.js', '.vue', '.json'], alias: {'vue$': 'vue/dist/vue.esm.js','@': resolve('src') }},// 添加代码plugins: [ new webpack.provideplugin({$: "jquery",jquery: "jquery",jquery: "jquery","window.jquery": "jquery" })],// 原有代码module: { rules: [// ...... ]}
然后许多其他解决办法到此就说在main.js里导入就可以了,然而题主照着做了。
main.js里导入jquery
import 'jquery'
在vue组件里使用 $ or jquery 写了操作dom的代码
接着启动项目
npm run dev
但是编译却报错了:
http://eslint.org/docs/rules/no-undef '$' is not defined orhttp://eslint.org/docs/rules/no-undef 'jquery' is not defined
咋回事呢???
3、eslint 检查
机智的朋友肯定想到跟eslint有关,没错,这时候需要做的下一步就是要修改根目录下.eslintrc.js文件了,在改文件的module.exports中,为env添加一个键值对 jquery: true 就可以了,也就是:
env: { // 原有 browser: true, // 添加 jquery: true }
再次 npm run dev ,ok了,没报错,赶紧去组件里试一下吧,console.log($('选择器')) ,你会发现成功使用jquery获取到了dom。
更多编程相关知识,请访问:编程入门!!
以上就是vue和jquery兼容吗的详细内容。
