当前位置:实例文章 » HTML/CSS实例» [文章]Vue应用案例

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 构建一个完整的电商平台应用。

其他信息

其他资源

Top