Автоигра Vue Carousel не останавливается на смене флага - PullRequest
0 голосов
/ 26 июня 2018

Я хочу, чтобы карусель автоматически воспроизводилась до тех пор, пока пользователь не нажмет на 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? как я могу решить это?

1 Ответ

0 голосов
/ 26 июня 2018

Список свойств в Github не содержит свойства autoplay, поэтому карусель не останавливается.

Тем не менее, есть свойство speed, вы можете установить значение 0, когда раскрывающийся список открыт, и вернуть его к значению> 0, когда раскрывающийся список закрыт.

РЕДАКТИРОВАТЬ: странно, что есть опция автозапуска в официальных документах , но нет в списке свойств на GitHub.

...