vue代码实现底部导航购物车图标显示购物车内件数
时间: 2023-08-12 22:04:09 浏览: 104
要实现底部导航购物车图标显示购物车内件数,可以使用Vue的计算属性来实现。具体实现步骤如下:
1. 在data中定义购物车内件数的变量,例如cartNum: 0。
2. 在computed中定义一个计算属性,例如cartCount,用来计算购物车内件数,并返回该数值。计算属性的实现可以使用store中的state来获取购物车内物品数量。
3. 在底部导航栏显示购物车图标的地方,使用cartCount来显示购物车内件数。
以下是示例代码:
```html
<template>
<div>
<router-view></router-view>
<div class="bottom-nav">
<router-link to="/shopcart">
<div class="nav-item">
<img src="cart.png" alt="购物车">
<span class="cart-num">{{ cartCount }}</span>
</div>
</router-link>
</div>
</div>
</template>
<script>
import { mapState } from 'vuex'
export default {
computed: {
...mapState(['cart']),
cartCount () {
return this.cart.length
}
}
}
</script>
<style>
.bottom-nav {
position: fixed;
bottom: 0;
left: 0;
right: 0;
height: 60px;
display: flex;
justify-content: space-around;
align-items: center;
background-color: #fff;
box-shadow: 0 -2px 5px rgba(0, 0, 0, 0.1);
}
.nav-item {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
}
.cart-num {
display: inline-block;
position: absolute;
top: -8px;
right: -8px;
width: 18px;
height: 18px;
border-radius: 50%;
background-color: red;
color: #fff;
font-size: 12px;
line-height: 18px;
text-align: center;
}
</style>
```
在上面的代码中,底部导航栏的购物车图标处使用了cartCount来显示购物车内件数。当购物车内物品数量发生变化时,cartCount会自动重新计算并更新显示。
阅读全文