Springboot+Uniapp从列表页面跳转到详情数据页面

参考链接:uni-app渲染新闻列表,跳转详情页 - 腾讯云开发者社区-腾讯云 (tencent.com)

文章目录

效果图

页面目录

列表页

详情页

步骤一:

完整代码

 步骤二:

完整代码

 总结:


效果图

页面目录

orgLife为列表页,details为详情页。

列表页

(用接口和后端连接数据,然后定义listData数组来存放数据,从而渲染页面)

详情页

(样式可以修改,目前只是暂时)

 

步骤一:

在列表页面添加一个点击方法(用于跳转到详情页面)(注意:使用如下方法的前提是列表页面数据已经渲染了,当你点击某个列表时,跳到的详情页面就会分析你所点击的是哪个列表)

2.在method方法那里添加上面设定的点击方法

(1)设定一个detail用于发送信息,将需要渲染在详情页面的变量放入进去

(2)用跳转功能直接传数据进入下面的路径中,记得用JSON将数据格式转化

(3)将上面设定的数组detail与该listData数组的数据连接在一起

完整代码


<template>
	<view>
		<view class="text">组织生活</view>
		<view v-for="(form, index) in listData" :key="index" class="view_tupian_wenzi" @click="goDetails(form)">
			<!-- 包裹两行文字 -->
			<view class="view_wenzi2">
				<text class="title">{{form.meetName}}</text>
				<text class="text_small">{{form.introduce}}</text>
				<text class="text_small">时间:{{form.startTime}}</text>
			</view>
		</view>
		<view class="bottom">---没有更多了---</view>
	</view>
</template>

<script>
    export default {
        data() {
            return {
				// 存储数据的列表
				listData: [],
            }
        },
		onLoad() {
			this.getList();
		},
        methods: {
			// 获取所有列表信息
			getList() {
				var _self = this;
				uni.request({
					url: 'info' + '/hygl/page',

					header: {
						'content-type': 'application/json',
					},
					success: (res) => {
						_self.listData = res.data.data.records;
						console.log(res.data.data.records);	
					}
				});
			},
			// 点击进入详情页面
			goDetails: function(e){
				// 设定一个数组用于发送信息
				let detail = {
					picUrl: e.picUrl,
					meetName:e.meetName,
					introduce: e.introduce,
					id: e.id,
					startTime: e.startTime
				};
				// 用跳转功能直接传数据进入下面的路径中,记得用JSON将数据格式转化
				uni.navigateTo({
					// 将上面设定的数组detail与该listData数组的数据连接在一起
					url: '/pages/orgLife/details/details?listData=' + encodeURIComponent(JSON.stringify(detail))
				})
			}
        }
    }
</script>
// style省略

 步骤二:

通过Uniapp中的onload方法将列表页点击后的数据渲染来详情页

打印数据在控制台,判断数据是否存在,然后用this.form接收数据,同样也是JSON转换数据格式,event.listData是列表页通过onload传递过来的数据(listData是列表页定义的数组)。

完整代码

<template>
    <view>
        <view class="banner">
            <image class="banner-img" :src="form.picUrl"></image>
            <view class="banner-title">{{form.meetName}}</view>
        </view>
        <view class="article-meta">
            <text class="article-author">{{form.introduce}}</text>
            <text class="article-text">发表于</text>
            <text class="article-time">{{form.startTime}}</text>
        </view>
    </view>
</template>
<script>
    export default {
        data() {
            return {}
        },
        onLoad(event) {
			// 打印数据在控制台,判断数据是否存在
            console.log(event);
			// 用this.form接收数据,同样也是JSON转换数据格式,event.listData是列表页通过onload传递过来的数据
			// listData是列表页定义的数组
            this.form = JSON.parse(decodeURIComponent(event.listData));
        },
        methods: {
        }
    }
</script>
// style省略

 总结:

总的来说,其实就是在列表页先通过getList方法获得数据的全部信息,然后再通过点击事件goDetail进行数据传送,然后在详情页通过onLoad将goDetail的传送数据返回回来渲染在详情页面上。

最后,本人对Uniapp的开发知识也只是停留在初始学习阶段,很多地方可能解释的不是那么的标准,我只能按照我自己的理解来进行解释,也是为了以后自己遇到问题能进行回顾。样式可以自己修改,不一定用我这种方式,我只是比较懒不行换个好看的(毕竟只是学习用)。

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
以下是一个简单的Spring Boot + Thymeleaf的歌单页面跳转到歌单详情页面的示例代码: 1. 在Controller中定义一个请求映射方法,用于返回歌单页面的模板名称和数据: ``` @GetMapping("/playlists") public String getPlaylists(Model model) { List<Playlist> playlists = playlistService.getAllPlaylists(); model.addAttribute("playlists", playlists); return "playlist"; } ``` 2. 在歌单页面模板中,使用Thymeleaf的循环语句将歌单列表展示出来,并为每个歌单添加一个链接,用于跳转到歌单详情页面: ``` <table> <thead> <tr> <th>歌单名称</th> <th>创建时间</th> <th>操作</th> </tr> </thead> <tbody> <tr th:each="playlist : ${playlists}"> <td th:text="${playlist.name}"></td> <td th:text="${playlist.createTime}"></td> <td> <a th:href="@{/playlist/{id}(id=${playlist.id})}">查看详情</a> </td> </tr> </tbody> </table> ``` 3. 在Controller中定义另一个请求映射方法,用于返回歌单详情页面的模板名称和数据: ``` @GetMapping("/playlist/{id}") public String getPlaylistDetail(@PathVariable Long id, Model model) { Playlist playlist = playlistService.getPlaylistById(id); model.addAttribute("playlist", playlist); return "playlistDetail"; } ``` 4. 在歌单详情页面模板中,使用Thymeleaf展示歌单的详细信息: ``` <h2 th:text="${playlist.name}"></h2> <p th:text="${playlist.createTime}"></p> <p th:text="${playlist.description}"></p> ``` 以上就是一个简单的Spring Boot + Thymeleaf的歌单页面跳转到歌单详情页面的全部代码。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值