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

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

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

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

比如基于jquery的select2插件,在vue下單獨(dú)用有很多問題,其實(shí)對(duì)于這類插件,可以用vue的自定義指令和組件來包裝,解決沖突的問題。引用官方vue1.0和2.0的兩個(gè)例子,學(xué)習(xí)一下。

 例子1.0  例子2.0

大功告成。說說基于vue1的,對(duì)于下拉單選,用vue官方的例子即可,對(duì)于多選,看下面自己寫的,核心是用指令對(duì)象的el、vm等獲取被select2改變后的select下拉列表的相應(yīng)對(duì)象,關(guān)鍵點(diǎn)是用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>

另外,在插入默認(rèn)值的時(shí)候,注意做一個(gè)異步插入,因?yàn)関ue更新頁(yè)面是異步的,這里做了一個(gè)setTimeout( , 0)。

另外在單頁(yè)里,考慮在SSpa的show的時(shí)候,設(shè)置一狀態(tài)位vm.isInit,表示若是初始化默認(rèn)選項(xiàng),判斷onchange里是否觸發(fā)相關(guān)改變的時(shí)候不重新設(shè)置一些值的清空以及獲取 。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Vue中div contenteditable 的光標(biāo)定位方法

    Vue中div contenteditable 的光標(biāo)定位方法

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

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

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

    element多個(gè)表單校驗(yàn)的實(shí)現(xiàn)

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

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

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

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

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

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

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

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

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

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

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

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

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

    Vue-Access-Control 前端用戶權(quán)限控制解決方案

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

最新評(píng)論

丰台区| 瓮安县| 桓仁| 沙湾县| 金阳县| 乐昌市| 云和县| 台中市| 金昌市| 章丘市| 拉萨市| 绿春县| 永和县| 长泰县| 鹿邑县| 兴仁县| 花莲市| 明水县| 栖霞市| 雷州市| 苍溪县| 富宁县| 油尖旺区| 泰兴市| 疏勒县| 佳木斯市| 茌平县| 新平| 南投市| 富川| 银川市| 德钦县| 北海市| 双峰县| 和硕县| 澄迈县| 弋阳县| 饶平县| 启东市| 昔阳县| 泸西县|