【问题标题】:Vue carousel autoplay do not stop on flag changeVue轮播自动播放不会在标志更改时停止
【发布时间】:2018-06-26 16:26:24
【问题描述】:

我希望轮播一直自动播放,直到用户点击dropdown,其中轮播转到该选项slide,并且自动播放应该停止。

我唯一不能做的是停止autoplay,我安装了vue devtools,它在轮播组件中显示,当我在dropdown 中选择一个选项时,自动播放的标志会改变它使用我在 doAutoplay 属性中传递的值,。 我正在像这样使用ssense vue-carousel

//Vue imports
....
import VueCarousel from 'vue-carousel';
Vue.use(VueCarousel);

在模板中

<carousel :loop="true" :per-page="1" :autoplay="doAutoplay" :autoplay-timeout="4000" :pagination-enabled="false" :mouse-drag="false" :navigate-to="sede == '' ? 0 : sede" :autoplay-hover-pause="false">
    <slide>
        <img :src="$asset('images/backgrounds/background1.jpg')">
    </slide>
    ....
    //more slides
</carousel>

这是下拉菜单

<md-field>
    <md-select v-model="sede" name="sede" id="sede">
        <md-option :value="index" v-for="(s, index) in sedes" :key="index">{{ s.name }}</md-option>
    </md-select>
</md-field>

剩下的

export default {
    data : () => {
        return {
            ...
            sede     : '',
            sedeData : {},
            sedes    : [],
            doAutoplay : true
        }
    },
    created : function(){

        axios.get(this.$asset('api/inicio')).then((response) => {
            this.sedes      = response.data.sedes;//this is the data for the dropdown
        }).catch(() => {
        });

    },
    watch : {
        sede(){
            //i watch the dropdown for changes, if it does, i reevaluate the doAutoplay prop.
            this.doAutoplay = false;
            this.sedeData = this.sedes[this.sede];
        }
    }

}

为什么自动播放在其值更改为 false 后没有停止?我该如何解决这个问题?

【问题讨论】:

    标签: vue.js vuejs2 vue-component


    【解决方案1】:

    property list at Github 不包含 autoplay 属性,这就是轮播不会停止的原因。

    尽管如此,有一个speed 属性,您可以在下拉菜单打开时设置为 0,并在下拉菜单关闭时将其恢复为 >0。

    编辑:奇怪的是,official docs 中有一个自动播放选项,但 GitHub 的属性列表中没有。

    【讨论】:

    • 你不是唯一一个错过它的人。见Option to auto-slide #58
    • 我只是在 setTimeout 中更改了速度,等待过渡结束以使其正常工作,谢谢
    • autoplay 默认设置为 false。然而,轮播仍然自动播放。有没有办法让它永远不会移动幻灯片,除非按下指示器或控件?
    猜你喜欢
    • 1970-01-01
    • 2013-07-17
    • 2019-08-23
    • 2015-03-04
    • 1970-01-01
    • 1970-01-01
    • 2021-04-03
    • 2012-04-11
    • 1970-01-01
    相关资源
    最近更新 更多