当前位置:首页 > 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. 扩展功能建议

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

注意事项

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

vue组件实现简单商品

分享给朋友:

相关文章

vue实现拖拽实现组件嵌套

vue实现拖拽实现组件嵌套

Vue 拖拽实现组件嵌套 使用 Vue 实现拖拽组件嵌套功能可以通过原生 HTML5 拖拽 API 或第三方库如 vuedraggable 实现。以下是两种方法的详细说明: 使用 HTML5 拖拽…

vue实现多级组件

vue实现多级组件

Vue 多级组件实现方法 在 Vue 中实现多级组件通常涉及父子组件通信、动态组件或递归组件等技术。以下是几种常见实现方式: 父子组件嵌套 通过逐层嵌套组件实现多级结构,适用于固定层级场景:…

vue实现组件循环

vue实现组件循环

Vue 实现组件循环的方法 在 Vue 中,可以通过 v-for 指令实现组件的循环渲染。以下是几种常见的实现方式: 使用 v-for 渲染数组 通过 v-for 遍历数组数据,动态生成组件列表:…

vue实现组件循环图片

vue实现组件循环图片

Vue 实现组件循环图片的方法 在 Vue 中实现组件循环图片通常可以通过 v-for 指令结合动态数据绑定完成。以下是几种常见的实现方式: 使用静态图片路径数组 假设有一组本地图片路径,可以通过…

vue穿梭框组件实现

vue穿梭框组件实现

实现 Vue 穿梭框组件的基本思路 穿梭框(Transfer)组件通常用于在两个列表之间移动数据项。核心功能包括左侧列表、右侧列表、移动按钮(左移、右移、全选等)以及数据项的渲染与交互。 基础结构…

vue实现下拉框组件

vue实现下拉框组件

Vue 下拉框组件实现 基础实现 创建基础下拉框组件,使用v-model实现双向数据绑定: <template> <div class="dropdown"> &…