Files
ClassContent/历届学生/front-end-team-11/每天上课/2023-06-15/swiper.html
2024-09-27 02:06:13 +08:00

79 lines
2.0 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<div class="app">
<h2>我是父组件</h2>
<hr>
<span>1 点击 进入详情 id</span>
<swiper :data="lunbo">
<template v-slot:default="{ item }">
<img @click="info(item)" :src="item.url" alt="">
</template>
</swiper>
<hr>
<span>2 点击 显示图片预览 url</span>
<swiper :data="lunbo">
<template v-slot:default="{ item }">
<span @click="showImg(item)">{{ item.id }}</span>
</template>
</swiper>
</div>
</body>
<script src="https://cdn.jsdelivr.net/npm/vue@2.7.14/dist/vue.js"></script>
<script>
Vue.component('swiper', {
props: {
data: {
type: Array,
default: () => []
}
},
data() {
return {
}
},
template: `
<div class="header">
<ul>
<li v-for="item,index in data" :key="index">
<slot :item="item"></slot>
</li>
</ul>
</div>
`
});
let vm = new Vue({
el: ".app",
data: {
lunbo: [
{ id: 1, url: 'https://img.alicdn.com/imgextra/i2/O1CN01jH9w4F1sEDtCgpH3r_!!6000000005734-0-tps-846-472.jpg' },
{ id: 2, url: 'https://img.alicdn.com/imgextra/i4/O1CN01GOlEEW1zidUliI8O7_!!6000000006748-2-tps-846-472.png' },
{ id: 3, url: 'https://img.alicdn.com/imgextra/i4/O1CN01LHWdyp1yvAidcNMDR_!!6000000006640-0-tps-846-472.jpg' },
]
},
methods: {
info({ id, url }) {
console.log("进入详情: ", id);
},
showImg({ id, url }) {
console.log("显示大图: ", url);
}
}
})
</script>
</html>