开启你的编程学习之旅

云课堂提供高质量的编程课程,从入门到精通,助你成为技术大牛

立即开始学习
学习进度

已完成: 100%

UniApp 全栈开发

作者: 周老师 更新: 2024-03-24 阅读: 34521 难度: 中级
学习工具

3. UniApp 项目实战

通过一个完整的项目案例,综合运用UniApp开发技能。

商品列表页面
<template> <view class="product-list"> <view class="search-box"> <uni-search-bar @confirm="search" placeholder="搜索商品"></uni-search-bar> </view> <scroll-view class="scroll-view" scroll-y> <view class="product-item" v-for="product in productList" :key="product.id" @click="goToDetail(product.id)"> <image class="product-image" :src="product.image" mode="aspectFill"></image> <view class="product-info"> <text class="product-name">{{product.name}}</text> <text class="product-price">¥{{product.price}}</text> <text class="product-sales">已售{{product.sales}}件</text> </view> <button class="add-cart-btn" @click.stop="addToCart(product)">加入购物车</button> </view> </scroll-view> </view> </template> <script> export default { data() { return { productList: [], searchKeyword: '' } }, onLoad() { this.loadProducts(); }, methods: { async loadProducts() { try { const res = await uni.request({ url: '/api/products', method: 'GET' }); this.productList = res.data; } catch (error) { console.error('加载商品失败:', error); } }, search(e) { this.searchKeyword = e.value; this.loadProducts(); }, addToCart(product) { // 添加到购物车逻辑 uni.showToast({ title: '添加成功' }); }, goToDetail(id) { uni.navigateTo({ url: `/pages/product/detail?id=${id}` }); } } } </script>
提示: 这是一个重要的概念,需要特别注意理解和掌握。
注意: 这是一个常见的错误点,请避免犯同样的错误。