【问题标题】:How can I combine vuejs v-for with Unslider如何将 vuejs v-for 与 Unslider 结合使用
【发布时间】:2016-07-28 07:15:42
【问题描述】:

最近在尝试结合vuejs的v-for和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 用于 unslider

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

v-for 和 unslider 分开时效果很好。但我想把它们结合起来。如果有人能帮我解决这个问题,那就太好了。

【问题讨论】:

    标签: vue.js unslider


    【解决方案1】:

    你可以将 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 工作。不知道为什么它不起作用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-09-08
      • 2020-10-21
      • 2021-02-21
      • 2019-11-30
      • 1970-01-01
      • 2020-04-04
      • 1970-01-01
      • 2011-06-06
      相关资源
      最近更新 更多