国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

如何解決vue與傳統jquery插件沖突

2019-11-19 17:06:14
字體:
來源:轉載
供稿:網友

本篇文章主要介紹了如何解決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里是否觸發相關改變的時候不重新設置一些值的清空以及獲取 。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 岳阳市| 马关县| 巴塘县| 綦江县| 澄城县| 沂南县| 大足县| 乌海市| 和顺县| 黎川县| 灵寿县| 平江县| 军事| 进贤县| 黔西县| 平泉县| 金门县| 山西省| 通河县| 定西市| 宁河县| 稻城县| 拜城县| 营口市| 新郑市| 晋宁县| 图片| 黑河市| 永济市| 嘉禾县| 太谷县| 封丘县| 菏泽市| 库尔勒市| 五华县| 灯塔市| 舟曲县| 千阳县| 盐津县| 汝城县| 彭水|