vue2.x select2 指令封装详解


Posted in Javascript onOctober 12, 2017

本文介绍了vue2.x select2 指令封装,分享给大家,具体如下:

其他的就不说了,说说封装过程的问题吧

1、vue不同版本指令接受参数不一样

2、酱油君对于vue2.x双向绑定的机制不了解(有大神路过望在评论中不吝赐教)

上代码:

<!DOCTYPE html>
<html>
<head>
  <title>vue select2 封装</title>
  <link href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.3/css/select2.min.css" rel="external nofollow" rel="stylesheet" />
  <script src="https://unpkg.com/vue/dist/vue.js"></script>
  <script src="https://cdn.bootcss.com/jquery/2.2.4/jquery.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.3/js/select2.min.js"></script>
  <style type="text/css">
    .content{
      text-align: center;
      padding:50px;
    }
    .content *{
      text-align: left;
    }
    .select{
      width: 350px;
    }
  </style>
</head>
<body>
  <div class="content" id="vue-example">
    <select class="select" v-select2='options' v-model="selectValue"></select>
    <br/>
    <span>结果:{{ selectValue }}</span>
  </div>
</body>
<script type="text/javascript">
  Vue.directive('select2', {
   inserted: function (el, binding, vnode) {
     let options = binding.value || {};
 
    $(el).select2(options).on("select2:select", (e) => {
     // v-model looks for
     // - an event named "change"
     // - a value with property path "$event.target.value"
       el.dispatchEvent(new Event('change', { target: e.target })); //说好的双向绑定,竟然不安套路
    });
   },
   update: function(el, binding, vnode) {
    $(el).trigger("change");
   }
  });
 
  var vueApp = new Vue({
   el: "#vue-example",
   data: {
    selectValue: '你还没有选值',
    options: {
      data: [
          { id: 0, text: 'enhancement' },
        { id: 1, text: 'bug' },
        { id: 2, text: 'duplicate' },
        { id: 3, text: 'invalid' },
        { id: 4, text: 'wontfix' }
      ]
    }
   }
  });
</script>
</html>

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

Javascript 相关文章推荐
javascript window对象属性整理
Oct 24 Javascript
js操作二级联动实现代码
Jul 27 Javascript
基于jquery 的一个progressbar widge
Oct 29 Javascript
JavaScript实现班级随机点名小应用需求的具体分析
May 12 Javascript
js实现按钮控制图片360度翻转特效的方法
Feb 17 Javascript
jQuery.deferred对象使用详解
Mar 18 Javascript
$.browser.msie 为空或不是对象问题的多种解决方法
Mar 19 Javascript
Vue在页面数据渲染完成之后的调用方法
Sep 11 Javascript
微信小程序获取用户openid的实现
Dec 24 Javascript
基于js Canvas实现二次贝塞尔曲线
Dec 25 Javascript
vue样式穿透 ::v-deep的具体使用
Jun 04 Javascript
vue cli3.0打包上线静态资源找不到路径的解决操作
Aug 03 Javascript
一个简易时钟效果js实现代码
Mar 25 #Javascript
微信小程序实现页面跳转传值的方法
Oct 12 #Javascript
微信小程序 页面滑动事件的实例详解
Oct 12 #Javascript
微信小程序 动画的简单实例
Oct 12 #Javascript
node通过npm写一个cli命令行工具
Oct 12 #Javascript
JS实现自定义状态栏动画文字效果示例
Oct 12 #Javascript
AngularJS实现表单验证功能详解
Oct 12 #Javascript
You might like
什么是MVC,好东西啊
2007/05/03 PHP
从零开始学YII2框架(五)快速生成代码工具 Gii 的使用
2014/08/20 PHP
discuz目录文件资料汇总
2014/12/30 PHP
javascript dom 基本操作小结
2010/04/11 Javascript
根据出生日期自动取得星座的js代码
2010/07/20 Javascript
jquery的ajax跨域请求原理和示例
2014/05/08 Javascript
IE7浏览器窗口大小改变事件执行多次bug及IE6/IE7/IE8下resize问题
2015/08/21 Javascript
将json转换成struts参数的方法
2016/11/08 Javascript
详解webpack 入门总结和实践(按需异步加载,css单独打包,生成多个入口文件)
2017/06/20 Javascript
原生JS实现移动端web轮播图详解(结合Tween算法造轮子)
2017/09/10 Javascript
浅谈vue的props,data,computed变化对组件更新的影响
2018/01/16 Javascript
JavaScript日期工具类DateUtils定义与用法示例
2018/09/03 Javascript
基于nodejs的雪碧图制作工具的示例代码
2018/11/05 NodeJs
如何在vue里面优雅的解决跨域(路由冲突问题)
2019/01/20 Javascript
Node.js API详解之 vm模块用法实例分析
2020/05/27 Javascript
[01:02]DOTA2上海特锦赛SHOWOPEN
2016/03/25 DOTA
Python的加密模块md5、sha、crypt使用实例
2014/09/28 Python
使用Python操作MySQL的一些基本方法
2015/08/16 Python
Python抓取手机号归属地信息示例代码
2016/11/28 Python
python利用smtplib实现QQ邮箱发送邮件
2020/05/20 Python
python SMTP实现发送带附件电子邮件
2018/05/22 Python
Python查找数组中数值和下标相等的元素示例【二分查找】
2019/02/13 Python
Python使用字典实现的简单记事本功能示例
2019/08/15 Python
python3 实现调用串口功能
2019/12/26 Python
如何理解Python中包的引入
2020/05/29 Python
总结python 三种常见的内存泄漏场景
2020/11/20 Python
scrapy处理python爬虫调度详解
2020/11/23 Python
HTML5页面音视频在微信和app下自动播放的实现方法
2016/10/20 HTML / CSS
广州某公司软件工程师面试题
2014/12/22 面试题
敬老院院长事迹材料
2014/05/21 职场文书
销售内勤岗位职责范本
2015/04/13 职场文书
纪委立案决定书
2015/06/24 职场文书
2015新教师教学工作总结
2015/07/22 职场文书
趣味运动会口号
2015/12/24 职场文书
Python爬虫中urllib3与urllib的区别是什么
2021/07/21 Python
分位数回归模型quantile regeression应用详解及示例教程
2021/11/02 Python