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 prototype对象的属性说明
Mar 13 Javascript
禁用页面部分JavaScript方法的具体实现
Jul 31 Javascript
当鼠标滑过文本框自动选中输入框内容的JS代码分享
Nov 26 Javascript
jQuery ui实现动感的圆角渐变网站导航菜单效果代码
Aug 26 Javascript
jQuery实现非常实用漂亮的select下拉菜单选择效果
Nov 06 Javascript
基于Bootstrap实现下拉菜单项和表单导航条(两个菜单项,一个下拉菜单和登录表单导航条)
Jul 22 Javascript
jQuery实现的页面弹幕效果【测试可用】
Aug 17 jQuery
webpack 3.X学习之多页面打包的方法
Sep 04 Javascript
解决Vue+Electron下Vuex的Dispatch没有效果问题
May 20 Javascript
学习LayUI时自研的表单参数校验框架案例分析
Jul 29 Javascript
原生javascript如何实现共享onload事件
Jul 03 Javascript
quickjs 封装 JavaScript 沙箱详情
Nov 02 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发送有附件的电子邮件-(PHPMailer使用的实例分析)
2013/04/26 PHP
php解压文件代码实现php在线解压
2014/02/13 PHP
php抓取并保存网站图片的实现代码
2015/10/28 PHP
CodeIgniter视图使用注意事项
2016/01/20 PHP
php简单实现多语言切换的方法
2016/05/09 PHP
javascript编程起步(第五课)
2007/02/27 Javascript
JS+XML 省份和城市之间的联动实现代码
2009/10/14 Javascript
ExtJS 2.0 GridPanel基本表格简明教程
2010/05/25 Javascript
文本框中,回车键触发事件的js代码[多浏览器兼容]
2010/06/07 Javascript
jquery ajax例子返回值详解
2012/09/11 Javascript
javascript中AJAX用法实例分析
2015/01/30 Javascript
jquery比较简洁的软键盘特效实现方法
2015/03/19 Javascript
js实现圆盘记速表
2015/08/03 Javascript
jquery计算出left和top,让一个div水平垂直居中的简单实例
2016/07/13 Javascript
基于JS实现回到页面顶部的五种写法(从实现到增强)
2016/09/03 Javascript
nodejs入门教程三:调用内部和外部方法示例
2017/04/24 NodeJs
详解Vue-cli代理解决跨域问题
2017/09/27 Javascript
详解CommonJS和ES6模块循环加载处理的区别
2018/12/26 Javascript
socket在egg中的使用实例代码详解
2019/05/30 Javascript
Vue中qs插件的使用详解
2020/02/07 Javascript
js中!和!!的区别与用法
2020/05/09 Javascript
实例讲解python函数式编程
2014/06/09 Python
python实现自动更换ip的方法
2015/05/05 Python
Python Xml文件添加字节属性的方法
2018/03/31 Python
python脚本实现mp4中的音频提取并保存在原目录
2020/02/27 Python
tensorflow/core/platform/cpu_feature_guard.cc:140] Your CPU supports instructions that this T
2020/06/22 Python
详解Python中list[::-1]的几种用法
2020/11/16 Python
Django filter动态过滤与排序实现过程解析
2020/11/26 Python
Python页面加载的等待方式总结
2021/02/28 Python
20世纪40年代连衣裙和复古服装:The Seamstress Of Bloomsbury
2018/07/24 全球购物
攀岩、滑雪、徒步旅行装备:Black Diamond Equipment
2019/08/16 全球购物
资金主管岗位职责范本
2014/03/04 职场文书
2015年高考寄语或鼓励的话
2015/03/23 职场文书
人与自然的观后感
2015/06/18 职场文书
教你使用Jenkins集成Harbor自动发布镜像
2022/04/03 Servers
Java Lambda表达式常用的函数式接口
2022/04/07 Java/Android