zoukankan      html  css  js  c++  java
  • Vue.js与jQuery混用

    标签: js


    坑位

    最近开发一个需求,项目有用到jQuery和Vue,发现我jQuery绑定的事件全部都失效了。

    Why

    Vue会重新渲染dom,加上是异步实例Vue.所以正常写程序的话jq的$()获取的元素不是vue渲染后的元素。

    解决方案

    • 方案1:最彻底的方法是既然用了Vue就全部交给Vue就好了,不再引入jQuery
    • 方案2: 既然Vue接管了并重新渲染dom,那我们就等Vue真正渲染重新渲染出dom了再执行我们的jQuery事件绑定,主要代码示例如下:
    new Vue({
      el: "testId",
      mounted: function() {
        this.$nextTick(function(){
          // 在这里执行$()的dom事件绑定
          ...
        })
      }
    })
    

    方案2注意点:

    1. 针对你要通过jQuery绑定事件的元素不要使用v-if去显示隐藏,改用v-show吧;
    1. 尽量使用jquery的事件委托机制,这样可以针对后续生成的元素事件也做处理
    2. 事件绑定还是尽量通过@click方式来绑定吧;
  • 相关阅读:
    JavaSE 基础
    Mybatis(三) 动态SQL
    Java基础(十)
    Java基础(九)
    Java基础(八)
    Java基础(七)
    centos7怎么把语言切换成英语
    CentOS更改yum源与更新系统
    快速切換前後日期
    laravel 框架给数组分页
  • 原文地址:https://www.cnblogs.com/xwwin/p/13330369.html
Copyright © 2011-2022 走看看