el-carousel切换后加载组件
时间: 2024-01-01 21:04:34 浏览: 96
el-carousel 是一个基于 Element UI 的轮播组件,它可以在多个项目中使用。如果你需要在每次切换轮播项时加载组件,可以使用它的 `change` 事件和 `v-if` 指令来实现。
首先,你需要在 `el-carousel` 上监听 `change` 事件,通过事件回调函数来动态改变组件的 `v-if` 值。例如:
```html
<template>
<el-carousel :interval="5000" @change="handleChange">
<el-carousel-item v-for="(item, index) in items" :key="index">
<my-component v-if="showComponent"></my-component>
<img :src="item.src" alt="">
</el-carousel-item>
</el-carousel>
</template>
<script>
export default {
data() {
return {
items: [
{ src: 'https://picsum.photos/800/600?random=1' },
{ src: 'https://picsum.photos/800/600?random=2' },
{ src: 'https://picsum.photos/800/600?random=3' },
],
showComponent: false,
};
},
methods: {
handleChange() {
this.showComponent = true;
},
},
};
</script>
```
在上面的代码中,我们在 `el-carousel` 上监听了 `change` 事件,并在事件回调函数中将 `showComponent` 的值设置为 `true`,从而动态地显示组件。
需要注意的是,由于组件只有在 `showComponent` 为 `true` 时才会被渲染,因此在第一次渲染时组件是不会被加载的。如果你需要在第一次渲染时就加载组件,可以将 `showComponent` 的初始值设置为 `true`。
阅读全文