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 相关文章推荐
使用IE6看老赵的博客 jQuery初探
Jan 17 Javascript
Extjs Gird 支持中文拼音排序实现代码
Apr 15 Javascript
JavaScript自定义日期格式化函数详细解析
Jan 14 Javascript
引用其它js时如何同时处理多个window.onload事件
Sep 02 Javascript
Node.js中使用mongoskin操作mongoDB实例
Sep 28 Javascript
json数据处理及数据绑定
Jan 25 Javascript
JavaScript禁止微信浏览器下拉回弹效果
May 16 Javascript
详解webpack提取第三方库的正确姿势
Dec 22 Javascript
vue.js实现只弹一次弹框
Jan 29 Javascript
详解vue+webpack+express中间件接口使用
Jul 17 Javascript
浅谈Vue.js路由管理器 Vue Router
Aug 16 Javascript
微信小程序实现侧边栏分类
Oct 21 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 无限分类 树形数据格式化代码
2016/10/11 PHP
Laravel 实现密码重置功能
2018/02/23 PHP
php ajax数据传输和响应方法
2018/08/21 PHP
PHP PDOStatement::errorCode讲解
2019/01/31 PHP
任意位置显示html菜单
2007/02/01 Javascript
js下关于onmouseout、事件冒泡的问题经验小结
2010/12/09 Javascript
15个款优秀的 jQuery 图片特效插件推荐
2011/11/21 Javascript
利用Javascript实现BMI计算器
2016/08/16 Javascript
JavaScript中函数声明与函数表达式的区别详解
2016/08/18 Javascript
angularjs 源码解析之injector
2016/08/22 Javascript
jQuery插件HighCharts实现2D柱状图、折线图的组合多轴图效果示例【附demo源码下载】
2017/03/09 Javascript
基于vue中解决v-for使用报红并出现警告的问题
2018/03/03 Javascript
基于Vue实现拖拽功能
2020/07/29 Javascript
深入理解JS的事件绑定、事件流模型
2018/05/13 Javascript
angularjs结合html5实现拖拽功能
2018/06/25 Javascript
记一次webapck4 配置文件无效的解决历程
2018/09/19 Javascript
Vue基本使用之对象提供的属性功能
2019/04/30 Javascript
javascript/jquery实现点击触发事件的方法分析
2019/11/11 jQuery
js实现简单点赞操作
2020/03/17 Javascript
uni-app微信小程序登录授权的实现
2020/05/22 Javascript
Python列表推导式的使用方法
2013/11/21 Python
35个Python编程小技巧
2014/04/01 Python
Python通过matplotlib画双层饼图及环形图简单示例
2017/12/15 Python
pycharm+PyQt5+python最新开发环境配置(踩坑)
2019/02/11 Python
讲解Python3中NumPy数组寻找特定元素下标的两种方法
2019/08/04 Python
Python Spyder 调出缩进对齐线的操作
2021/02/26 Python
HTML5 通信API 跨域门槛将不再高、数据推送也不再是梦
2013/04/25 HTML / CSS
美国现代家具购物网站:LexMod
2019/01/09 全球购物
What's the difference between deep copy and shallow copy? (深拷贝与浅拷贝有什么区别)
2015/11/10 面试题
外贸专业求职信
2014/03/09 职场文书
毕业生简历自我评价范文
2014/04/09 职场文书
音乐幼师求职信
2014/07/09 职场文书
中国文明网向国旗敬礼寄语大全
2014/09/27 职场文书
红色经典电影观后感
2015/06/18 职场文书
python如何进行基准测试
2021/04/26 Python
Python使用socket去实现TCP客户端和TCP服务端
2022/04/12 Python