当前位置:首页 > VUE

vue 实现商品展示

2026-01-18 09:26:31VUE

使用 Vue 实现商品展示

数据准备

创建一个商品数据数组,包含商品名称、价格、图片链接等信息。

data() {
  return {
    products: [
      { id: 1, name: "商品A", price: 100, image: "product_a.jpg" },
      { id: 2, name: "商品B", price: 200, image: "product_b.jpg" },
      { id: 3, name: "商品C", price: 300, image: "product_c.jpg" }
    ]
  };
}

模板渲染

使用 v-for 循环渲染商品列表,动态绑定商品数据。

vue 实现商品展示

<template>
  <div class="product-list">
    <div v-for="product in products" :key="product.id" class="product-item">
      <img :src="product.image" :alt="product.name" />
      <h3>{{ product.name }}</h3>
      <p>价格: {{ product.price }} 元</p>
    </div>
  </div>
</template>

样式优化

添加 CSS 样式,使商品展示更美观。

.product-list {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}

.product-item {
  border: 1px solid #ddd;
  padding: 10px;
  width: 200px;
  text-align: center;
}

.product-item img {
  width: 100%;
  height: 150px;
  object-fit: cover;
}

交互功能

添加点击事件,实现商品详情跳转或加入购物车功能。

vue 实现商品展示

<button @click="addToCart(product)">加入购物车</button>
methods: {
  addToCart(product) {
    console.log("加入购物车:", product.name);
    // 可调用购物车逻辑
  }
}

分页加载

如果商品数据较多,可结合分页组件优化展示。

<pagination :total="totalProducts" @page-change="loadProducts" />
methods: {
  loadProducts(page) {
    // 调用 API 加载分页数据
  }
}

动态数据获取

结合 axios 从后端 API 获取商品数据。

import axios from "axios";

methods: {
  fetchProducts() {
    axios.get("/api/products").then(response => {
      this.products = response.data;
    });
  }
},
created() {
  this.fetchProducts();
}

通过以上方法,可以快速实现 Vue 商品展示功能,并支持扩展交互和动态数据加载。

标签: 商品vue
分享给朋友:

相关文章

vue实现前端分离

vue实现前端分离

Vue 实现前后端分离 前后端分离是一种架构模式,前端负责页面渲染和交互逻辑,后端提供数据接口。Vue.js 作为前端框架,非常适合实现前后端分离的开发模式。 核心实现步骤 创建 Vue 项目 使…

vue实现年历

vue实现年历

Vue 实现年历的方法 使用 Vue 实现年历可以通过组件化开发方式,结合日期计算和动态渲染完成。以下是两种常见的实现方式: 基于原生 Vue 的日历组件 创建 Calendar.vue 组件文件…

vue实现前端注册

vue实现前端注册

Vue 实现前端注册功能 注册表单设计 使用 Vue 的模板语法创建注册表单,包含用户名、邮箱、密码和确认密码字段。表单需绑定 v-model 实现双向数据绑定。 <template>…

vue实现好评弹框

vue实现好评弹框

Vue 实现好评弹框的方法 使用 Vue 实现好评弹框可以通过组件化方式完成,结合动态数据绑定和事件处理。以下是具体实现步骤: 1. 创建弹框组件 新建一个 RatingDialog.vue…

vue实现人脸识别比对

vue实现人脸识别比对

Vue 实现人脸识别比对的方法 使用现成的人脸识别 API 通过调用第三方人脸识别 API(如 Face++、百度 AI、腾讯云等)实现比对功能。注册开发者账号获取 API Key 和 Secret,…

vue实现访问量

vue实现访问量

Vue 实现访问量统计的方法 使用前端计数 在 Vue 中可以通过简单的计数器实现页面访问量的统计。这种方法适合小型项目或演示用途。 // 在 Vue 组件中 data() { return…