当前位置:首页 > VUE

vue组件实现简单商品

2026-02-21 13:01:50VUE

Vue 组件实现简单商品展示

商品数据模型 商品数据通常包含名称、价格、图片、描述等基础信息。在 Vue 中可以通过 dataprops 传递:

data() {
  return {
    product: {
      name: '示例商品',
      price: 99.99,
      image: 'https://example.com/product.jpg',
      description: '这是一个示例商品描述'
    }
  }
}

基础组件结构 使用 template 定义商品卡片布局,通过插值语法绑定数据:

vue组件实现简单商品

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

样式处理 通过 scoped 样式隔离组件 CSS:

<style scoped>
.product-card {
  border: 1px solid #ddd;
  padding: 15px;
  max-width: 300px;
}
.price {
  color: #f56c6c;
  font-weight: bold;
}
</style>

交互功能实现methods 中定义购物车交互逻辑:

vue组件实现简单商品

methods: {
  addToCart() {
    this.$emit('add-to-cart', this.product)
  }
}

组件复用方案 通过 props 实现动态数据传入,使组件可复用:

props: {
  product: {
    type: Object,
    required: true
  }
}

完整组件示例 整合后的单文件组件 (SFC) 示例:

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

<script>
export default {
  props: {
    product: {
      type: Object,
      required: true
    }
  },
  methods: {
    addToCart() {
      this.$emit('add-to-cart', this.product)
    }
  }
}
</script>

<style scoped>
.product-card {
  border: 1px solid #ddd;
  padding: 15px;
  max-width: 300px;
}
.price {
  color: #f56c6c;
  font-weight: bold;
}
</style>

分享给朋友:

相关文章

组件elementui

组件elementui

ElementUI 简介 ElementUI 是一套基于 Vue.js 的桌面端组件库,由饿了么前端团队开发并开源。它提供了丰富的 UI 组件(如按钮、表单、表格等),适合快速构建企业级中后台产品。…

vue实现秒表组件

vue实现秒表组件

实现秒表组件的基本思路 使用Vue实现秒表组件需要管理时间状态、控制计时器的启动/暂停/重置功能,并通过计算属性动态显示格式化时间。核心逻辑包括利用setInterval更新计时数据,并通过生命周期钩…

vue实现列表组件

vue实现列表组件

Vue 列表组件实现方法 基础列表渲染 使用 v-for 指令渲染数组数据,需配合 :key 提升性能: <template> <ul> <li v-for…

vue 实现树组件

vue 实现树组件

Vue 树形组件实现 基础树形结构实现 使用递归组件实现树形结构,核心是通过组件自身调用自身渲染嵌套数据。 <template> <ul> <li v-fo…

vue组件实现注册

vue组件实现注册

Vue 组件注册的两种方式 全局注册 通过 Vue.component() 方法注册,注册后可在任意 Vue 实例中使用。通常在项目的入口文件(如 main.js)中操作: import Vue f…

vue基础组件实现

vue基础组件实现

Vue 基础组件实现 组件定义 使用 Vue.component 全局注册或局部注册组件。全局注册适合通用组件,局部注册适合特定页面使用的组件。 // 全局注册 Vue.component('my-…