尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

uni-app x开发商城系统,资讯列表跳转详情并传递id

uni-app x开发商城系统,资讯列表跳转详情并传递id
📅 发布时间:2026/6/20 12:26:22

一、概述

上一篇文章,已经实现了资讯列表结构,数据渲染,news-item组件封装。

接下来,实现资讯列表跳转详情并传递id

效果如下:

动画

 

二、资讯详情页面

资讯详情页面,先简单写一下,显示id即可

新建文件 pages/news/news-detail.uvue,完整内容如下:

<template><view>资讯详情{{id}}</view>
</template><script>export default {data() {return {id: ''}},//页面加载拿到传递来的参数id值
        onLoad(value) {this.id = value.id;console.log("onload拿到id", value);},methods: {}}
</script><style></style>

 

修改项目跟目录的pages.json,增加路由

{"path": "pages/news/news-detail","style": {"navigationBarTitleText": "资讯详情","enablePullDownRefresh": false}
},

编译运行,效果如下:

image

目前还看不到id,需要子组件news-item传递

三、news-item组件传递id

修改 components/news-item/news-item.uvue文件,增加点击事件navigator

完整代码如下:

<template><view><view class="news_item" v-for="(item,index) in newsList" :key="item.id" @click="navigator(item.id)"><image :src="item.img_url"></image><view class="right"><view class="title">{{item.title}}</view><view class="info"><text>发表时间:{{cut_data(item.add_time)}}</text><text>浏览: {{item.click}}</text></view></view></view></view>
</template><script>export default {//接收父组件传递的值props: ['newsList'],methods: {// 截取日期
            cut_data(time_str) {const date = time_str.split('T')[0];return date;},navigator(id) {//调用父组件的方法 传递idthis.$emit("goNewsDetailPage", id)},}}
</script><style lang="scss">.news_item {display: flex;padding: 10rpx 20rpx;border-bottom: 1px solid $shop-color;// 子元素自动水平排列flex-direction: row;image {width: 200rpx;height: 150rpx;min-width: 200rpx;max-width: 200rpx;}.right {// 占满剩余宽度flex: 1;margin-left: 15rpx;// 与图片同高
            height: 150rpx;display: flex;// 弹性布局 侧轴显示flex-direction: column;// 两边对齐justify-content: space-between;.title {font-size: 30rpx;}.info {display: flex;flex-direction: row;text {font-size: 24rpx;}text:nth-child(2) {margin-left: 40rpx;}}}}
</style>

四、资讯页面跳转详情id

资讯页面,点击每一条资讯时,需要传递id给资讯详情页面

修改 pages/news/news.uvue文件,触发事件goNewsDetailPage

完整代码如下:

<template><view><!-- 资讯 --><view class="news"><news-item :newsList="newsList" @goNewsDetailPage="goNewsDetailPage"></news-item></view></view>
</template><script>import newsPageDataList from '../../components/news-item/news-item.uvue'export default {components: {"news-item": newsPageDataList},data() {return {newsList: []}},onLoad() {this.getNews()},methods: {async getNews() {const res = await this.$http.get('/api/getnewslist', {})this.newsList = res.message;console.log("资讯数据", this.newsList);},//跳转到资讯详情页,拿到子组件传递的idgoNewsDetailPage(id) {console.log("跳转资讯详情页id", id);uni.navigateTo({url: './news-detail?id=' + id})}}}
</script><style lang="scss">.news {}
</style>

编译代码,效果如下:

动画

 

相关新闻

  • 基于深度随机森林的分类算法实现
  • 2025年靠谱的贴片底座厂家推荐及选择指南
  • 2025年热门的交流固态继电器厂家实力及用户口碑排行榜

最新新闻

  • 如何获得赞助:Instagram、活动赞助及其他赞助
  • 鸣潮自动化工具终极指南:基于YOLOv8图像识别的智能辅助解决方案
  • 2026帝王宫海鲜加工饭店排行榜:内行推荐这5家 - 官方资讯
  • [Windows]罗技G HUB(Logitech G HUB)旧版本下载地址汇总
  • 电瓶车托运不拆电池行吗?2026新规+省钱方案来了 - 快递物流资讯
  • 2026年北京发电机租赁、应急电源车租赁厂家名单及选购参考指南 - 海棠依旧大

日新闻

  • 信任的进化:技术实现详解——如何用JavaScript构建博弈论模拟器
  • Terrakube自定义工作流:如何集成OPA、Infracost等工具扩展IaC能力
  • grunt-concurrent快速入门:5分钟学会并行运行Grunt任务

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号