【问题标题】:Slick slider not working in vue components光滑的滑块在 vue 组件中不起作用
【发布时间】:2017-06-07 14:31:32
【问题描述】:

我正在尝试在 .vue 组件中使用 slick slider,但出现错误。

.slick 不是函数

我已完成所有设置要求。这是正在使用的代码:

    new Vue({
    el: '#app',
    data: {
        slider: null
    },
    methods: {
        selectImage: function () {
            //http call here
            return images
        }
    },
    mounted: function () {
        this.slider = $('.gallery').slick({
            animation: true
        });
    }
});

<div class='gallery'>
  <div v-for="img in images" @click="selectImage(img)">
    <img v-bind:src="img.url">
  </div>
</div>

我的 phpstorm 不允许 ES6,我怀疑这可能是问题所在。

这是我的代码:JSfiddle

【问题讨论】:

  • 我希望这是您需要的最后一个轮播:P 可以创建一个小提琴吗?
  • 我使用了基础轨道,但它不适用于使用 v-for 动态加载的图像。寻找一个可以做的滑块是一场噩梦
  • 您是否在 HTML/index.html 中添加了这一行:&lt;script type="text/javascript" src="slick/slick.min.js"&gt;&lt;/script&gt;
  • 是的。我有。我还添加了slick.css 文件
  • Here 是一个带有引导程序的轮播实现供您参考,here 是为了光滑,您能否为您的代码创建一个小提琴,它可以帮助人们在这里回答您的问题。跨度>

标签: javascript slider vuejs2


【解决方案1】:

你可以看到工作小提琴here

我没有收到您遇到的错误。但是它没有像代码一样更早地工作:$('.gallery').slick({ 是在挂载块中定义的,但是鉴于您正在以异步方式获取数据,我已将其移至 updated 块,该块将在您的数据更新后执行。

以下是工作vue代码:

var app = new Vue({
  el: "#gallery",
  data: function() {
    return {
      images: [],
      slider: null
    }
  },
  mounted() {
    var that = this
    setTimeout(function() {
      that.images.push('http://devcereal.com/wp-content/uploads/2016/05/URL-URI-URN-whats-difference.png')
      that.images.push('http://www.shawacademy.com/blog/wp-content/uploads/2015/10/URL-1000x605.jpg')

    }, 300)
  },
  updated () {
        $('.gallery').slick({
        autoplay: true,
        dots: true,
        responsive: [{
          breakpoint: 500,
          settings: {
            dots: false,
            arrows: false,
            infinite: false,
            slidesToShow: 2,
            slidesToScroll: 2
          }
        }]
      });
  }
})

【讨论】:

  • @PhillisPeters 你的代码有问题,它可能没有正确加载slick.js
  • 当我使用bower components并在我的页面中添加脚本标签时它没有加载slick.js,所以我使用npm安装slick,将css文件添加到我的gulpfile和现在它就像一个魅力。非常感谢。
  • @Saurabh 您的解决方案帮助我顺利运行,但我还有一个问题,那就是导航箭头没有显示在正确的位置。那你能帮我找出问题吗
  • @Saurabh,看来我需要你的帮助。看看这个:stackoverflow.com/questions/45255934/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-02-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多