如何将vuejs v-for与Unslider结合使用

时间:2016-07-28 07:15:42

标签: vue.js unslider

最近,我在尝试将vuejs&v; for vih Unslider

组合时遇到了问题

我的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>

我的Js for unslider

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

v-for和unslider在分离时效果很好。但我想把它们结合起来。如果有人可以帮助我,那将是非常好的。

1 个答案:

答案 0 :(得分:0)

您可以将unslider插件包装为vue组件并使用它。

//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:我无法让CSS工作。不知道为什么它不起作用。