一般情况,初始化插件要注意的有两点:
1、dom节点
2、渲染的数据
两点缺一,插件可能就达不到想要的效果。
目前我使用的解决办法:
1、在请求数据的回调方法中使用 vue 的 $nextTick();
2、在 vue 的 watch监听中使用 $nextTick();
如下例,使用 swiper 和 ckplayer:
<div class="swiper-container">
<div class="swiper-wrapper">
<div class="swiper-slide">
<div class="video"></div>
</div>
<div class="swiper-slide" v-for="img in imgList">
<a href="#">
<img :src="'/'+img" style=" 100%;height: 5rem;">
</a>
</div>
</div>
<!-- Add Pagination -->
<div class="swiper-pagination"></div>
</div>
<script type="text/javascript">
var fruitId="${fruitId}";
var vim = new Vue({
el: '#divAll',
data () {
return {
fruit:null,//水果详情
imgList:null,//轮播图列表
}
},
methods:{
getfruitDetail:function(){
axios.get('/api/spike_fruit_details.rm',{
params:{'fruitId':fruitId},
headers:{'token':sessionStorage.getItem("token")}
}).then( response => {
console.log(response);
if(response.data.code==100){
this.fruit = response.data.object.fruit;
this.