当前位置: 首页 > news >正文

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

一、概述

上一篇文章,已经实现了资讯列表结构,数据渲染,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>

编译代码,效果如下:

动画

 

http://www.jsqmd.com/news/30866/

相关文章:

  • 基于深度随机森林的分类算法实现
  • P8. TensorBoard的使用(二)
  • 2025年口碑好的成套配电柜行业内知名厂家排行榜
  • 2025年靠谱的贴片底座厂家推荐及选择指南
  • 2025年知名的新疆长绒棉被优质厂家推荐榜单
  • [minix] Tanenbaums MINIX
  • 2025年热门的交流固态继电器厂家实力及用户口碑排行榜
  • 一文分清Python中的三种计算策略:急切、惰性与延迟计算
  • 2025年口碑好的耐低温氟橡胶品牌厂家排行榜
  • 2025年知名的冷拉异型钢品牌厂家排行榜
  • 2025年靠谱的大跨距电缆桥架厂家推荐及选购参考榜
  • 2025年口碑好的泡椒酱TOP实力厂家推荐榜
  • 2025年知名的离婚律师事务所综合服务榜
  • 2025年周边的继承房产分割事务所服务优选榜
  • luogu-P1544 三倍经验题解
  • 2025年靠谱的动物雕塑优质厂家推荐榜单
  • 2025 年调直机厂家最新推荐排行榜权威发布:聚焦伺服高速机型,揭秘行业前五优质企业高速/铁线/青岛/扁铁调直机优质企业
  • NOIP2025 倒数第14场模拟赛 赛后总结
  • 2025年热门的岳轩圆白红油豆瓣酱厂家最新实力排行
  • 2025/11/4
  • 2025年评价高的1680D单双股布箱包布厂家最新热销排行
  • 2025年评价高的粮食输送带厂家最新TOP排行榜
  • 2025/11/1
  • 2025 年集成平台公司最新推荐榜,技术实力与市场口碑深度解析,助力企业数字化转型选对服务商
  • 2025年质量好的农药流变改性触变剂品牌厂家排行榜
  • 2025年口碑好的印花布牛津布优质厂家推荐榜单
  • 2025/10/31
  • 2025/11/3
  • 2025年靠谱的高分子分散剂品牌厂家排行榜
  • 2025年中国十大高氧舱/抗衰老设备品牌产品生产厂家排行榜【榜中榜】