【发布时间】:2018-03-11 06:30:06
【问题描述】:
vue-slick 可以很好地处理静态内容。但是当我试图循环播放 user.slick 的播放列表时,它不起作用。
html部分:
<template>
<slick ref="slickone" :options="slickOptions">
<div v-for='playlist in user_playlists'>
<a href="#">
<img :src="playlist.image">
<p>Playlist Name</p>
</a>
</div>
</slick>
</template>
脚本部分:
<script>
import Slick from 'vue-slick';
import './node_modules/slick-carousel/slick/slick.css';
import './node_modules/slick-carousel/slick/slick-theme.css';
export default {
data() {
return {
user_playlists: [],
slickOptions: {
infinite: true,
slidesToShow: 5,
slidesToScroll: 1,
autoplaySpeed: 5e3,
},
};
},
methods: {
getUserPlaylists() {
this.$http.get('api/user_playlists/user-playlists')
.then(response => {
this.user_playlists = response.body.data;
this.$refs.slickone.reSlick();
});
},
updated() {
this.reInit();
},
reInit() {
this.$refs.slickone.reSlick();
},
},
components: {
'slick': Slick,
},
watch: {
profileData() {
this.getUserPlaylists();
},
user_playlists() {
this.reInit();
}
}
}
</script>
我检查了文档并使用了this.$ref.slickone.reSlick(),但它仍然无法正常工作。
【问题讨论】:
-
I am trying to loop through playlists of user.slick is not working.你在哪里尝试循环播放列表? -
它在模板中。
-
什么时候打电话给
getUserPlaylists?如果不调用,那么user_playlists是一个空数组。 -
这是另一个组件的子组件,在 profileData 的监视下,它将被调用。我忘了在顶部添加道具:['profileData']。还是不行。
-
没有为 v-for 元素 vuejs.org/v2/guide/list.html#key 提供唯一键可能是个问题。但“它不起作用”也可能意味着很多事情。究竟是什么没有按预期发生?
标签: javascript vue.js vuejs2 vue-component