2016-07-28 3 views
0

Vor kurzem habe ich ein Problem festgestellt, wenn sie versuchen zu kombinieren vuejs Mit V-für wih UnsliderWie kann ich vuejs v-für mit Unslider

Meine Html

<div class="my-slider" > 
     <ul> 
      <li> 
       <div class="show-box" v-for="item in soloColImgs" track-by="$index"> 
       <img v-bind:src="item.imgUrl"/> 
       <a v-bind:href="item.itemUrl" target="_blank"></a> 
       </div> 
      </li> 
     </ul> 
    </div> 

Mein Js für unslider

kombinieren
jQuery(document).ready(function($) { 
    $('.my-slider').unslider({ 
     autoplay:true 
    }); 
}); 

v-for und unslider funktioniert gut, wenn sie getrennt sind. Aber ich möchte sie kombinieren. Es wäre schön, wenn mir jemand dabei helfen könnte.

Antwort

0

Sie können das unslider Plugin als Vue-Komponente umschließen und verwenden.

//code using the un-slider component 
<div class="browser"> 
    <un-slider> 
    <ul> 
      <li v-for="i in 6"> {{ i }} is an item </li> 
     </ul> 
    </un-slider> 
</div> 

//defining template for unslider component 
<template id="unslider-template"> 
<div class="my-slider" v-el:slider> 
    <slot></slot> 
</div> 
</template> 


//initialize vue 
new Vue({ 
    el:".browser", 
    components:{ 

    // as it is a simple component, I have written the code here. 
    // you should not write it here. 
    UnSlider: { 
    template:"#unslider-template", 
    ready: function(){ 
    jQuery(this.$els.slider).unslider();  
    } 
    }, 
    } 
}); 

Demo

PS: Ich bin nicht in der Lage CSS Funktion zu erhalten. Keine Ahnung, warum es nicht funktioniert.