Files
ClassContent/历届学生/fontendsix/每日课程/2021-11-22/swiper.html
2024-09-27 02:06:13 +08:00

70 lines
1.7 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>轮播图组件 作用域插槽的封装</title>
</head>
<body>
<div class="app">
<swiper :list="imgList">
<template v-slot:default="{ data: a }">
<img :src="a" alt="">
</template>
</swiper>
<hr>
<swiper :list="newsList">
<template v-slot:default="{ data: a }">
<p>{{ a.title }}</p>
</template>
</swiper>
</div>
</body>
<script src="https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.js"></script>
<script>
Vue.component("swiper", {
template: `
<div class="swiper">
<div class="swiper-silder" v-for="(item,index) in list" :key="index">
<slot :data="item"></slot>
</div>
</div>
`,
props: {
list: {
type: Array,
default: () => []
}
},
data() {
return {
}
},
methods: {
}
});
new Vue({
el: '.app',
data: {
imgList: [
'https://www.baidu.com/img/PCtm_d9c8750bed0b3c7d089fa7d55720d6cf.png',
'https://www.baidu.com/img/PCtm_d9c8750bed0b3c7d089fa7d55720d6cf.png'
],
newsList: [
{ id: 1, title: '热点1' },
{ id: 2, title: '热点2' },
{ id: 3, title: '热点3' },
]
},
methods: {
}
})
</script>
</html>