91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

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

發布時間:2020-10-14 12:12:16 來源:腳本之家 閱讀:231 作者:姜瑞濤 欄目:web開發

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

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

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

贺兰县| 呼伦贝尔市| 河间市| 潼关县| 泰安市| 灌南县| 门头沟区| 阿克苏市| 宜州市| 龙南县| 湾仔区| 同心县| 阳西县| 邢台市| 辉南县| 修水县| 钟山县| 收藏| 招远市| 寿阳县| 长寿区| 大名县| 鄂州市| 留坝县| 定襄县| 万全县| 铁岭县| 神池县| 镶黄旗| 景谷| 维西| 宁晋县| 潜江市| 武平县| 鞍山市| 富川| 定结县| 无为县| 乌拉特前旗| 兰西县| 谢通门县|