Vue应用案例
发布人:shili8
发布时间:2025-03-06 23:56
阅读次数:0
**Vue 应用案例: 电商平台**
在本文中,我们将展示一个完整的电商平台应用案例,使用 Vue.js 构建。这个案例包括用户登录、商品列表、商品详情、购物车、结算等功能。
###1.项目结构首先,我们需要建立一个新的 Vue项目。我们可以使用 `vue-cli` 来创建一个新项目。
bashnpm install -g @vue/clivue create my-electronic-store
然后,我们可以进入项目目录,安装所需的依赖项。
bashcd my-electronic-storenpm install
###2. 登录功能首先,我们需要实现用户登录功能。我们将使用 Vuex 来管理状态。
**store/index.js**
javascriptimport Vue from 'vue' import Vuex from 'vuex' Vue.use(Vuex) const store = new Vuex.Store({ state: { token: '' }, mutations: { SET_TOKEN(state, token) { state.token = token } } }) export default store
**login.vue**
html<template> <div> <h1>登录</h1> <form @submit.prevent="handleLogin"> <input type="text" v-model="username" placeholder="用户名"> <input type="password" v-model="password" placeholder="密码"> <button type="submit">登录</button> </form> </div> </template> <script> export default { data() { return { username: '', password: '' } }, methods: { handleLogin() { this.$store.commit('SET_TOKEN', 'token') // todo: 发送登录请求 } } } </script>
###3. 商品列表接下来,我们需要实现商品列表功能。我们将使用 Vue Router 来管理路由。
**router/index.js**
javascriptimport Vue from 'vue' import VueRouter from 'vue-router' Vue.use(VueRouter) const routes = [ { path: '/', name: 'home', component: () => import('@/views/Home.vue') }, { path: '/products', name: 'products', component: () => import('@/views/Products.vue') } ] const router = new VueRouter({ mode: 'history', base: process.env.BASE_URL, routes}) export default router
**Products.vue**
html<template> <div> <h1>商品列表</h1> <ul> <li v-for="product in products" :key="product.id"> {{ product.name }} ({{ product.price }}) </li> </ul> </div> </template> <script> export default { data() { return { products: [] } }, mounted() { this.$axios.get('/api/products') .then(response => { this.products = response.data }) .catch(error => { console.error(error) }) } } </script>
###4. 商品详情接下来,我们需要实现商品详情功能。
**ProductDetail.vue**
html<template> <div> <h1>{{ product.name }}</h1> <p>价格: {{ product.price }}</p> <button @click="addToCart">添加到购物车</button> </div> </template> <script> export default { data() { return { product: {} } }, mounted() { this.$axios.get('/api/products/' + this.$route.params.id) .then(response => { this.product = response.data }) .catch(error => { console.error(error) }) }, methods: { addToCart() { // todo: 添加商品到购物车 } } } </script>
###5. 购物车最后,我们需要实现购物车功能。
**Cart.vue**
html<template> <div> <h1>购物车</h1> <ul> <li v-for="item in cart" :key="item.id"> {{ item.product.name }} ({{ item.quantity }}) </li> </ul> </div> </template> <script> export default { data() { return { cart: [] } }, mounted() { this.$axios.get('/api/cart') .then(response => { this.cart = response.data }) .catch(error => { console.error(error) }) } } </script>
###6. 结算最后,我们需要实现结算功能。
**Checkout.vue**
html<template> <div> <h1>结算</h1> <form @submit.prevent="handleCheckout"> <input type="text" v-model="name" placeholder="姓名"> <input type="tel" v-model="phone" placeholder="电话"> <button type="submit">结算</button> </form> </div> </template> <script> export default { data() { return { name: '', phone: '' } }, methods: { handleCheckout() { // todo: 发送结算请求 } } } </script>
以上就是一个完整的电商平台应用案例。这个案例包括用户登录、商品列表、商品详情、购物车、结算等功能。
当然,这个案例只是一个示例,实际项目中可能需要更多的功能和细节。但是,它应该能够给你一个大致的了解如何使用 Vue.js 构建一个完整的电商平台应用。