最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

如何解決vue與傳統(tǒng)jquery插件沖突

 更新時間:2017年03月20日 16:25:15   作者:姜瑞濤  
本篇文章主要介紹了如何解決vue與傳統(tǒng)jquery插件沖突,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

本篇文章主要介紹了如何解決vue與傳統(tǒng)jquery插件沖突,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

比如基于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的時候,設置一狀態(tài)位vm.isInit,表示若是初始化默認選項,判斷onchange里是否觸發(fā)相關改變的時候不重新設置一些值的清空以及獲取 。

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

相關文章

  • Vue中div contenteditable 的光標定位方法

    Vue中div contenteditable 的光標定位方法

    今天小編就為大家分享一篇Vue中div contenteditable 的光標定位方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-08-08
  • Vue使用v-for數(shù)據(jù)渲染順序混亂的原因及解決方案

    Vue使用v-for數(shù)據(jù)渲染順序混亂的原因及解決方案

    在 Vue.js 中,使用 v-for 指令進行數(shù)據(jù)渲染時,有時會遇到渲染順序混亂的問題,這種問題主要與 Vue 的響應式系統(tǒng)、DOM 更新機制以及數(shù)組的變更方法有關,以下是對這一現(xiàn)象的深入分析及解決方案,需要的朋友可以參考下
    2025-01-01
  • element多個表單校驗的實現(xiàn)

    element多個表單校驗的實現(xiàn)

    在項目中,經常會遇到表單檢驗,在這里我分享在實際項目中遇到多個表單同時進行校驗以及我的解決方法,感興趣的可以了解一下
    2021-05-05
  • 詳解如何優(yōu)雅的進行Vue的狀態(tài)管理

    詳解如何優(yōu)雅的進行Vue的狀態(tài)管理

    隨著項目的發(fā)展和復雜性的增加,對 Vuex 進行更深入的了解和使用就變得非常重要,本篇文章將帶您探索 Vuex 的進階使用,包括模塊化、命名空間、getter 的高級用法等,需要的朋友可以參考下
    2023-09-09
  • 一篇文章帶你了解Vue組件的創(chuàng)建和使用

    一篇文章帶你了解Vue組件的創(chuàng)建和使用

    這篇文章主要為大家介紹了Vue組件的創(chuàng)建和使用,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-12-12
  • vue實現(xiàn)關鍵字高亮效果的示例代碼

    vue實現(xiàn)關鍵字高亮效果的示例代碼

    這篇文章主要為大家詳細介紹了如何使用vue實現(xiàn)關鍵字高亮效果,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2024-11-11
  • Vue3實現(xiàn)地圖選點組件的示例代碼

    Vue3實現(xiàn)地圖選點組件的示例代碼

    這篇文章主要為大家詳細介紹了Vue3實現(xiàn)地圖選點組件的相關知識,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2024-01-01
  • 在vue.js中抽出公共代碼的方法示例

    在vue.js中抽出公共代碼的方法示例

    這篇文章主要給大家介紹了在vue.js中抽出公共代碼的方法,文中給出了詳細的示例代碼供大家參考學習,對大家具有一定的參考學習價值,需要的朋友們下面來一起看看吧。
    2017-06-06
  • vue3+ts出現(xiàn)白屏問題的解決方法詳解

    vue3+ts出現(xiàn)白屏問題的解決方法詳解

    這篇文章主要為大家詳細介紹了vue3+ts出現(xiàn)白屏問題的原因與解決方法,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2024-03-03
  • Vue-Access-Control 前端用戶權限控制解決方案

    Vue-Access-Control 前端用戶權限控制解決方案

    Vue-Access-Control是一套基于Vue/Vue-Router/axios 實現(xiàn)的前端用戶權限控制解決方案。這篇文章主要介紹了Vue-Access-Control:前端用戶權限控制解決方案,需要的朋友可以參考下
    2017-12-12

最新評論

北票市| 屏边| 房山区| 广宁县| 沙湾县| 长岭县| 永春县| 南丰县| 鸡泽县| 邯郸市| 乌拉特中旗| 甘谷县| 库尔勒市| 浦北县| 固始县| 彩票| 武强县| 昌平区| 崇文区| 吴忠市| 达拉特旗| 安康市| 伊川县| 尚志市| 清远市| 鄱阳县| 平泉县| 遂昌县| 东阿县| 深泽县| 民乐县| 保靖县| 武川县| 新巴尔虎左旗| 平罗县| 东山县| 沛县| 兴义市| 新竹县| 水富县| 炎陵县|