当前位置:首页 > VUE

vue组件实现简单商品

2026-01-20 21:24:16VUE

Vue组件实现简单商品展示

1. 创建商品组件 新建一个Vue单文件组件如ProductItem.vue,包含商品图片、名称、价格和购买按钮等基础元素。

<template>
  <div class="product">
    <img :src="product.image" :alt="product.name">
    <h3>{{ product.name }}</h3>
    <p class="price">¥{{ product.price }}</p>
    <button @click="addToCart">加入购物车</button>
  </div>
</template>

2. 定义商品数据 通过props接收商品数据对象,包含必要字段如id、name、price等。

<script>
export default {
  props: {
    product: {
      type: Object,
      required: true,
      default: () => ({
        id: 0,
        name: '默认商品',
        price: 0,
        image: ''
      })
    }
  },
  methods: {
    addToCart() {
      this.$emit('add-to-cart', this.product)
    }
  }
}
</script>

3. 添加基础样式 为商品组件添加CSS样式,确保布局美观。

<style scoped>
.product {
  border: 1px solid #ddd;
  padding: 15px;
  margin: 10px;
  width: 200px;
  text-align: center;
}
.product img {
  max-width: 100%;
  height: 150px;
  object-fit: cover;
}
.price {
  color: #e63946;
  font-weight: bold;
}
button {
  background: #2a9d8f;
  color: white;
  border: none;
  padding: 8px 15px;
  cursor: pointer;
}
</style>

4. 在父组件中使用 创建商品列表父组件,循环渲染多个商品项。

<template>
  <div class="product-list">
    <ProductItem 
      v-for="item in products" 
      :key="item.id" 
      :product="item"
      @add-to-cart="handleAddToCart"
    />
  </div>
</template>

<script>
import ProductItem from './ProductItem.vue'

export default {
  components: { ProductItem },
  data() {
    return {
      products: [
        { id: 1, name: '商品A', price: 99, image: 'url1' },
        { id: 2, name: '商品B', price: 199, image: 'url2' }
      ]
    }
  },
  methods: {
    handleAddToCart(product) {
      console.log('添加商品:', product)
    }
  }
}
</script>

5. 扩展功能建议

vue组件实现简单商品

  • 添加商品详情弹窗
  • 实现价格筛选功能
  • 增加商品收藏功能
  • 添加库存状态显示
  • 实现商品评分组件

注意事项

  • 图片URL建议使用require处理本地图片
  • 价格可添加过滤器格式化显示
  • 按钮点击可添加防抖处理
  • 移动端需考虑响应式布局

分享给朋友:

相关文章

vue实现组件跟随

vue实现组件跟随

实现组件跟随的常见方法 使用CSS定位 通过CSS的position: fixed或position: absolute属性实现组件跟随。需要结合JavaScript计算目标元素的位置。 <t…

vue实现组件封装

vue实现组件封装

Vue 组件封装方法 封装组件的基本步骤 创建独立的 .vue 文件,包含 template、script 和 style 三个部分。通过 props 接收父组件传递的数据,使用 $emit 触发自…

vue VUE实现日历组件功能

vue VUE实现日历组件功能

Vue 日历组件实现方法 基础日历结构 使用Vue的模板语法构建日历的HTML结构,通常包含头部(年月显示、切换按钮)和日历表格(星期标题和日期格子)。 <template> <…

vue 实现toast组件

vue 实现toast组件

实现 Vue Toast 组件的方法 创建基础 Toast 组件 在 Vue 项目中创建一个基础 Toast 组件,通常包含消息内容和显示控制逻辑。 <template> <d…

vue实现头像组件

vue实现头像组件

Vue 头像组件实现 基础实现 创建一个可复用的头像组件,支持图片链接或文字缩写显示: <template> <div class="avatar" :style="avata…

vue 实现table组件

vue 实现table组件

Vue 实现 Table 组件 基础表格结构 使用 Vue 的模板语法构建表格的基本框架,通过 v-for 动态渲染数据。 <template> <table>…