热门推荐的准备工作
就是点击这个部分会再进入不同页面
1.新建页面-》静态结构-》跳转页面传参-》获取页面参数-》动态设置不同标题
我们先来准备动态设置标题,先新建页面,这里为了生成同名文件夹像下面这么设置
选择新建uiapp页面
下面开始静态结构的书写,代码如下
// /src/pages/hot/hot.vue <script setup lang="ts"> // 热门推荐页 标题和url const hotMap = [ { type: '1', title: '特惠推荐', url: '/hot/preference' }, { type: '2', title: '爆款推荐', url: '/hot/inVogue' }, { type: '3', title: '一站买全', url: '/hot/oneStop' }, { type: '4', title: '新鲜好物', url: '/hot/new' }, ] </script> <template> <view class="viewport"> <!-- 推荐封面图 --> <view class="cover"> <image src="http://yjy-xiaotuxian-dev.oss-cn-beijing.aliyuncs.com/picture/2021-05-20/84abb5b1-8344-49ae-afc1-9cb932f3d593.jpg" ></image> </view> <!-- 推荐选项 --> <view class="tabs"> <text class="text active">抢先尝鲜</text> <text class="text">新品预告</text> </view> <!-- 推荐列表 --> <scroll-view scroll-y class="scroll-view"> <view class="goods"> <navigator hover-class="none" class="navigator" v-for="goods in 10" :key="goods" :url="`/pages/goods/goods?id=`" > <image class="thumb" src="https://yanxuan-item.nosdn.127.net/5e7864647286c7447eeee7f0025f8c11.png" ></image> <view class="name ellipsis">不含酒精,使用安心爽肤清洁湿巾</view> <view class="price"> <text class="symbol">¥</text> <text class="number">29.90</text> </view> </navigator> </view> <view class="loading-text">正在加载...</view> </scroll-view> </view> </template> <style lang="scss"> page { height: 100%; background-color: #f4f4f4; } .viewport { display: flex; flex-direction: column; height: 100%; padding: 180rpx 0 0; position: relative; } .cover { width: 750rpx; height: 225rpx; border-radius: 0 0 40rpx 40rpx; overflow: hidden; position: absolute; left: 0; top: 0; } .scroll-view { flex: 1; } .tabs { display: flex; justify-content: space-evenly; height: 100rpx; line-height: 90rpx; margin: 0 20rpx; font-size: 28rpx; border-radius: 10rpx; box-shadow: 0 4rpx 5rpx rgba(200, 200, 200, 0.3); color: #333; background-color: #fff; position: relative; z-index: 9; .text { margin: 0 20rpx; position: relative; } .active { &::after { content: ''; width: 40rpx; height: 4rpx; transform: translate(-50%); background-color: #27ba9b; position: absolute; left: 50%; bottom: 24rpx; } } } .goods { display: flex; flex-wrap: wrap; justify-content: space-between; padding: 0 20rpx 20rpx; .navigator { width: 345rpx; padding: 20rpx; margin-top: 20rpx; border-radius: 10rpx; background-color: #fff; } .thumb { width: 305rpx; height: 305rpx; } .name { height: 88rpx; font-size: 26rpx; } .price { line-height: 1; color: #cf4444; font-size: 30rpx; } .symbol { font-size: 70%; } .decimal { font-size: 70%; } } .loading-text { text-align: center; font-size: 28rpx; color: #666; padding: 20rpx 0 50rpx; } </style>
写完这个之后
我们呢到page.json里面看
可以看到已经自动导入路由了
看一下现在的效果
数据传参
动态设置标题
这里的onReady是我后添加的为了解决uni报错的问题,然后这里的!是为了统一类型,我们这里不存在非空所以用!
我们来看一下动态设置标题是否成功只需要点入这四个不同页面,发现上面的名字是动态变动的
分类:
小兔鲜儿
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示