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