欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

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

 例子1.0  例子2.0

大功告成。說(shuō)說(shuō)基于vue1的,對(duì)于下拉單選,用vue官方的例子即可,對(duì)于多選,看下面自己寫(xiě)的,核心是用指令對(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.extend實(shí)現(xiàn)掛載到實(shí)例上的方法

    Vue.extend實(shí)現(xiàn)掛載到實(shí)例上的方法

    這篇文章主要介紹了Vue.extend實(shí)現(xiàn)掛載到實(shí)例上的方法,結(jié)合實(shí)例形式分析了Vue.extend實(shí)現(xiàn)掛載到實(shí)例上的具體操作步驟與相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2019-05-05
  • Vue-路由導(dǎo)航菜單欄的高亮設(shè)置方法

    Vue-路由導(dǎo)航菜單欄的高亮設(shè)置方法

    下面小編就為大家分享一篇Vue-路由導(dǎo)航菜單欄的高亮設(shè)置方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-03-03
  • 你知道vue data為什么是一個(gè)函數(shù)

    你知道vue data為什么是一個(gè)函數(shù)

    本篇文章從javascript原型鏈來(lái)解釋為什么vue中data必須是一個(gè)函數(shù),解釋一下這部分的原理內(nèi)容,感興趣的朋友跟隨小編一起看看吧
    2021-11-11
  • vue2.x中monaco-editor的使用說(shuō)明

    vue2.x中monaco-editor的使用說(shuō)明

    這篇文章主要介紹了vue2.x中monaco-editor的使用說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • Vue組件間通信方法總結(jié)(父子組件、兄弟組件及祖先后代組件間)

    Vue組件間通信方法總結(jié)(父子組件、兄弟組件及祖先后代組件間)

    這篇文章主要給大家介紹了關(guān)于Vue組件間通信的相關(guān)資料,其中包括父子組件、兄弟組件及祖先后代組件間的通信,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Vue具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • 關(guān)于vue中hash和history的區(qū)別與使用圖文詳解

    關(guān)于vue中hash和history的區(qū)別與使用圖文詳解

    vue-router中有hash模式和history模式,下面這篇文章主要給大家介紹了關(guān)于vue中hash和history的區(qū)別與使用的相關(guān)資料,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2023-03-03
  • vue+axios 前端實(shí)現(xiàn)的常用攔截的代碼示例

    vue+axios 前端實(shí)現(xiàn)的常用攔截的代碼示例

    這篇文章主要介紹了vue+axios 前端實(shí)現(xiàn)的常用攔截的代碼示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-08-08
  • 一款移動(dòng)優(yōu)先的Solid.js路由solid router stack使用詳解

    一款移動(dòng)優(yōu)先的Solid.js路由solid router stack使用詳解

    這篇文章主要為大家介紹了一款移動(dòng)優(yōu)先的Solid.js路由solid router stack使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • Vue解讀之響應(yīng)式原理源碼剖析

    Vue解讀之響應(yīng)式原理源碼剖析

    Vue 最獨(dú)特的特性之一,是其非侵入性的響應(yīng)式系統(tǒng),下面這篇文章主要給大家介紹了關(guān)于Vue響應(yīng)式原理源碼剖析的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2021-10-10
  • Vue使用NProgress進(jìn)度條的方法

    Vue使用NProgress進(jìn)度條的方法

    這篇文章主要為大家詳細(xì)介紹了Vue使用NProgress進(jìn)度條的方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-09-09

最新評(píng)論