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 globalStorage类代码
Jun 04 Javascript
改变文件域的样式实现思路同时兼容ie、firefox
Oct 23 Javascript
JavaScript中constructor()方法的使用简介
Jun 05 Javascript
微信小程使用swiper组件实现图片轮播切换显示功能【附源码下载】
Dec 12 Javascript
webpack+vue+express(hot)热启动调试简单配置方法
Sep 19 Javascript
webpack 开发和生产并行设置的方法
Nov 08 Javascript
微信小程序swiper实现滑动放大缩小效果
Nov 15 Javascript
写gulp遇到的ES6问题详解
Dec 03 Javascript
使用vue for时为什么要key【推荐】
Jul 11 Javascript
layer.confirm()右边按钮实现href的例子
Sep 27 Javascript
javascript设计模式 ? 职责链模式原理与用法实例分析
Apr 16 Javascript
解决vue 退出动画无效的问题
Aug 09 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
PHP jQuery表单,带验证具体实现方法
2014/02/15 PHP
kindeditor 加入七牛云上传的实例讲解
2017/11/12 PHP
基于PHP+mysql实现新闻发布系统的开发
2020/08/06 PHP
javascript 面向对象思想 附源码
2009/07/07 Javascript
uploadify 3.0 详细使用说明
2012/06/18 Javascript
CSS鼠标响应事件经过、移动、点击示例介绍
2013/09/04 Javascript
调试JavaScript中正则表达式中遇到的问题
2015/01/27 Javascript
JS中获取函数调用链所有参数的方法
2015/05/07 Javascript
jquery序列化方法实例分析
2015/06/10 Javascript
jQuery表格插件datatables用法详解
2020/11/23 Javascript
教你用javascript实现随机标签云效果_附代码
2016/03/16 Javascript
Javascript单例模式的介绍和实例
2016/10/08 Javascript
15个非常实用的JavaScript代码片段
2016/12/18 Javascript
详解JavaScript中js对象与JSON格式字符串的相互转换
2017/02/14 Javascript
js原生日历的实例(推荐)
2017/10/31 Javascript
vue获取dom元素注意事项
2017/12/28 Javascript
Vue实现点击按钮复制文本内容的例子
2019/11/09 Javascript
HTML+JS实现“代码雨”效果源码(黑客帝国文字下落效果)
2020/03/17 Javascript
解决基于 keep-alive 的后台多级路由缓存问题
2020/12/23 Javascript
python中执行shell命令的几个方法小结
2014/09/18 Python
介绍Python的Django框架中的QuerySets
2015/04/20 Python
Python实现删除文件中含“指定内容”的行示例
2017/06/09 Python
python字符串过滤性能比较5种方法
2017/06/22 Python
python中使用xlrd读excel使用xlwt写excel的实例代码
2018/01/31 Python
python程序控制NAO机器人行走
2019/04/29 Python
使用python实现画AR模型时序图
2019/11/20 Python
tensorflow 动态获取 BatchSzie 的大小实例
2020/06/30 Python
群众路线教育实践活动思想汇报(2014特荐篇)
2014/09/16 职场文书
布达拉宫的导游词
2015/02/02 职场文书
孔子观后感
2015/06/08 职场文书
航班延误投诉信
2015/07/02 职场文书
品德与社会教学反思
2016/02/24 职场文书
五年级作文之劳动作文
2019/11/12 职场文书
tensorflow中的梯度求解及梯度裁剪操作
2021/05/26 Python
VS2019连接MySQL数据库的过程及常见问题总结
2021/11/27 MySQL
2021年国漫热度排行前十,完美世界上榜,第四是美国动画作品
2022/03/18 国漫