如何解决vue与传统jquery插件冲突


Posted in Javascript onMarch 20, 2017

本篇文章主要介绍了如何解决vue与传统jquery插件冲突,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

比如基于jquery的select2插件,在vue下单独用有很多问题,其实对于这类插件,可以用vue的自定义指令和组件来包装,解决冲突的问题。引用官方vue1.0和2.0的两个例子,学习一下。

 例子1.0  例子2.0

大功告成。说说基于vue1的,对于下拉单选,用vue官方的例子即可,对于多选,看下面自己写的,核心是用指令对象的el、vm等获取被select2改变后的select下拉列表的相应对象,关键点是用jquery包装原生元素后用.val()获取多选值。

<body>
  <div id="el">
   <p>Selected: {{selected}}</p>
   <select v-select3="selected" multiple class="app1" >
    <option value="0">default</option>
    <option v-for="o in options" :value="o.id">{{ o.text }}</option>
   </select>
    
    <p>Selected: {{market}}</p>
   <select v-select3="market" multiple class="app2" >
    <option value="0">default</option>
    <option v-for="o in markets" :value="o.id">{{ o.text }}</option>
   </select>
  </div>
  <script>
    Vue.directive('select3', {
     twoWay: true,
     priority: 1000,

     params: ['options'],
      
     bind: function () {
      var self = this;
      $(this.el)
       .select2()
       .on('change', function () {
        self.set($(self.el).val());
        console.log($(self.el).val());
        if ( self.expression == 'selected') {
          self.vm.market = [];
        }

       })
     },
     update: function (value) {
      
      $(this.el).val(value).trigger('change')
     },
     unbind: function () {
      $(this.el).off().select2('destroy')
     }
    })

    var vm = new Vue({
     el: '#el',
     data: {
      selected: 0,
      market: '',
      options: [
       { id: 1, text: 'hello' },
       { id: 2, text: 'what' }
      ],
      markets: [
        { id: 1, text: '文山二手车' },
        { id: 2, text: '小哥二手车' }
      ]
     }
    });
    setTimeout(function () {
     vm.market = 0;
    }, 0);
  </script>
</body>

另外,在插入默认值的时候,注意做一个异步插入,因为vue更新页面是异步的,这里做了一个setTimeout( , 0)。

另外在单页里,考虑在SSpa的show的时候,设置一状态位vm.isInit,表示若是初始化默认选项,判断onchange里是否触发相关改变的时候不重新设置一些值的清空以及获取 。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
仿中关村在线首页弹出式广告插件(jQuery版)
May 03 Javascript
谈谈JavaScript中的函数与闭包
Apr 14 Javascript
JavaScript返回当前会话cookie全部键值对照的方法
Apr 03 Javascript
javascript实现信息增删改查的方法
Jul 25 Javascript
纯javascript判断查询日期是否为有效日期
Aug 24 Javascript
jQuery Easyui datagrid/treegrid 清空数据
Jul 09 Javascript
分享jQuery封装好的一些常用操作
Jul 28 Javascript
angularjs中的$eval方法详解
Apr 24 Javascript
JS封装的模仿qq右下角消息弹窗功能示例
Aug 22 Javascript
Vue发布项目实例讲解
Jul 17 Javascript
React路由鉴权的实现方法
Sep 05 Javascript
JS实现星星海特效
Dec 24 Javascript
Vue.js路由vue-router使用方法详解
Mar 20 #Javascript
Vue插件写、用详解(附demo)
Mar 20 #Javascript
详解vue事件对象、冒泡、阻止默认行为
Mar 20 #Javascript
javascript使用btoa和atob来进行Base64转码和解码
Mar 20 #Javascript
vue.js事件处理器是什么
Mar 20 #Javascript
Vue.js事件处理器与表单控件绑定详解
Mar 20 #Javascript
Vue.js基础学习之class与样式绑定
Mar 20 #Javascript
You might like
漫荒推荐:画风超赞的国风漫画推荐 超长假期不无聊
2020/03/08 国漫
解析PHPExcel使用的常用说明以及把PHPExcel整合进CI框架的介绍
2013/06/24 PHP
实例介绍PHP中zip_open()函数用法
2019/02/15 PHP
jquery $(document).ready() 与window.onload的区别
2009/12/28 Javascript
utf-8编码引起js输出中文乱码的解决办法
2010/06/23 Javascript
JavaScript(js)设置默认输入焦点(focus)
2012/12/28 Javascript
javascript实用方法总结
2015/02/06 Javascript
百度地图自定义控件分享
2015/03/04 Javascript
jQuery实现的仿百度分页足迹效果代码
2015/10/30 Javascript
老生常谈遮罩层 滚动条的问题
2016/04/29 Javascript
JS遍历ul下的li点击弹出li的索引的实现方法
2016/09/19 Javascript
Java与JavaScript中判断两字符串是否相等的区别
2017/03/13 Javascript
Angular4集成ng2-file-upload的上传组件
2018/03/14 Javascript
vue实现编辑器键盘抬起时内容跟随光标距顶位置向上滚动效果
2020/05/28 Javascript
[54:56]DOTA2上海特级锦标赛主赛事日 - 5 总决赛Liquid VS Secret第三局
2016/03/06 DOTA
Python MySQL数据库连接池组件pymysqlpool详解
2017/07/07 Python
Python发展史及网络爬虫
2019/06/19 Python
在SQLite-Python中实现返回、查询中文字段的方法
2019/07/17 Python
python实现最小二乘法线性拟合
2019/07/19 Python
PyTorch的自适应池化Adaptive Pooling实例
2020/01/03 Python
关于python的缩进规则的知识点详解
2020/06/22 Python
在Keras中CNN联合LSTM进行分类实例
2020/06/29 Python
使用pandas读取表格数据并进行单行数据拼接的详细教程
2021/03/03 Python
购买瑞典当代设计的腕表和太阳眼镜:TRIWA
2016/10/30 全球购物
不开辟用于交换数据的临时空间,如何完成字符串的逆序
2012/12/02 面试题
如何转换一个字符串到enum值
2014/04/12 面试题
python+selenium小米商城红米K40手机自动抢购的示例代码
2021/03/24 Python
商务主管岗位职责
2013/12/08 职场文书
运动会广播稿50字
2014/01/26 职场文书
2014年幼儿园元旦活动方案
2014/02/13 职场文书
外贸专业求职信
2014/03/09 职场文书
推荐信格式范文
2014/05/09 职场文书
母亲节演讲稿
2014/05/27 职场文书
被告答辩状范文
2015/05/22 职场文书
财务会计个人原因辞职信
2019/06/21 职场文书
关于JavaScript轮播图的实现
2021/11/20 Javascript