用vue3+elementUI写一个类似淘宝的购物网站
时间: 2024-04-03 10:36:07 浏览: 146
好的,以下是使用Vue3和ElementUI实现一个简单的类似淘宝的购物网站的代码示例:
```html
<!DOCTYPE html>
<html>
<head>
<title>购物网站</title>
<!-- 引入ElementUI样式 -->
<link rel="stylesheet" href="https://unpkg.com/element-plus/lib/theme-chalk/index.css">
</head>
<body>
<div id="app">
<!-- 头部导航栏 -->
<el-header>
<!-- 导航栏左侧 -->
<div class="logo">
<a href="#">购物网站</a>
</div>
<!-- 导航栏右侧 -->
<div class="nav">
<el-menu :default-active="activeIndex" mode="horizontal" @select="handleSelect">
<el-menu-item index="home">首页</el-menu-item>
<el-submenu index="goods">
<template #title>商品</template>
<el-menu-item index="clothes">衣服</el-menu-item>
<el-menu-item index="shoes">鞋子</el-menu-item>
<el-menu-item index="electronics">电子产品</el-menu-item>
</el-submenu>
<el-menu-item index="cart">购物车</el-menu-item>
<el-menu-item index="about">关于我们</el-menu-item>
</el-menu>
</div>
</el-header>
<!-- 主体部分 -->
<el-main>
<!-- 商品列表 -->
<div class="goods-list">
<el-row :gutter="20">
<!-- 商品卡片 -->
<el-col :span="8" v-for="(item, index) in goodsList" :key="index">
<el-card>
<img :src="item.img" class="card-img-top" alt="商品图片">
<div class="card-body">
<h5 class="card-title">{{ item.name }}</h5>
<p class="card-text">{{ item.desc }}</p>
<p class="card-text">价格:¥{{ item.price }}</p>
<el-button type="primary" @click="addToCart(item)">加入购物车</el-button>
</div>
</el-card>
</el-col>
</el-row>
</div>
</el-main>
<!-- 底部 -->
<el-footer>版权所有 © 购物网站</el-footer>
</div>
<!-- 引入Vue.js和ElementUI库 -->
<script src="https://unpkg.com/vue@next"></script>
<script src="https://unpkg.com/element-plus"></script>
<script>
// 创建Vue实例
const app = Vue.createApp({
data() {
return {
activeIndex: 'home', // 默认选中的导航栏项
goodsList: [ // 商品列表数据
{
img: 'https://picsum.photos/200/200',
name: '商品1',
desc: '这是商品1的描述',
price: 1000
},
{
img: 'https://picsum.photos/200/200',
name: '商品2',
desc: '这是商品2的描述',
price: 2000
},
{
img: 'https://picsum.photos/200/200',
name: '商品3',
desc: '这是商品3的描述',
price: 3000
}
],
cartList: [] // 购物车列表数据
}
},
methods: {
handleSelect(index) {
this.activeIndex = index
},
addToCart(item) {
this.cartList.push(item)
this.$message.success('添加成功')
}
}
})
// 挂载Vue实例到DOM元素上
app.mount('#app')
</script>
</body>
</html>
```
注:以上代码需要同时引入Vue.js和ElementUI库才能正常运行。由于图片资源来自于第三方库,因此每次刷新页面可能会显示不同的图片。此示例中只实现了商品列表和加入购物车的功能,其他功能需要自行实现。
阅读全文