微信小程序入门与实战之构建阅读详情页面

article/2025/9/22 23:19:00

构建文章详情页面

由于通常我们的后端人员可能没办法先给我们提供数据,所以我们要采用先静后动的开发方式。
我们所要实现的效果,如图所示:
在这里插入图片描述
基础代码:

<view class="container"><image ></image><view><image></image>  <text></text><text>发表于</text><text></text></view><text></text><view><image></image><image></image></view><text></text>
</view>

完善内容的填充:

<view class="container"><image src="/images/bestplayers.jpg"></image><view><image src="/images/avatar/1.png"></image>  <text>微信</text><text>发表于</text><text>16小时前</text></view><text>LPL夏季赛最佳阵容</text><view><image src="/images/collection (2).png"></image><image src="/images/share.png"></image></view><text>8月9号,LPL常规赛收官之战结束,在事</text>
</view>

完成的效果:
在这里插入图片描述
接下来我们编写样式,使文章符合我们预期的效果,使用行的flex布局,设置顶部图片布满宽度,设置头像、作者、发表日期等的样式:

.container{display: flex;flex-direction: column;
}
.head-image{width: 100%;height: 460rpx;
}
.author-date{display: flex;flex-direction: row;align-items: center;margin-top: 20rpx;margin-left: 32rpx;
}
.avatar{width: 64rpx;height: 64rpx;
}
.author{font-size: 30rpx;font-weight: 300;margin-left: 20rpx;color: #666;
}
.const-text{font-size: 24rpx;color: #999;margin-left: 20rpx;
}
.date{font-size: 24rpx;margin-left: 30rpx;color: #999;
}

实现效果:
在这里插入图片描述

Flex的高级应用

如果我们想实现下面的效果,我们该怎么做?
在这里插入图片描述
横线没有必要再用一张图片来实现,我们可以通过css样式来实现,这里我们通过View来实现。该View是有长和宽的,同时再添加一下背景色,这样一条横线就实现了。align-items: center设置主轴, justify-content: center;设置交叉轴。为了实现图标往右靠,我们要设置图标容器的宽度,再设置justify-content: flex-end,通过设置z-index来实现横线被图标压在上面:

.tool{
.horizon{width: 660rpx;height: 1px;background-color: #e5e5e5;position: absolute;z-index: -99;}
.circle-img{height: 90rpx;width: 90rpx;
}
.circle{display: flex;width: 660rpx;flex-direction: row;justify-content: flex-end;}
.tool{display: flex;flex-direction: column;align-items: center;justify-content: center;
}}
  <view class="tool"><view class="circle"><image class="circle-img"src="/images/collection (2).png"></image><image class="circle-img" src="/images/share.png"></image></view><view class="horizon"></view></view>

在这里插入图片描述
我们也可以不用设置图标的样式,直接设置circle容器下的image标签的属性也可以实现图标样式:

.circle image{height: 90rpx;width: 90rpx;
}

设置文章样式:

.detail{color: #666;margin-left: 30rpx;margin-top: 20rpx;margin-right: 30rpx;line-height: 44rpx;letter-spacing: 2px;
}

最终总体实现效果:
在这里插入图片描述

组件的自定义属性data

由于我们文章详情页是可以由不同文章点击进来的,所以我们需要有文章的唯一ID号,当用户点击一篇文章后,我们获取到文章的id号,然后传入文章详情页。
在这里插入图片描述

那我们怎么在文章详情页获取到文章的id号呢?我们通过点击事件对象拿到id:在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

dataset
在组件节点中可以附加一些自定义数据。这样,在事件中可以获取这些自定义的节点数据,用于事件的逻辑处理。
在 WXML 中,这些自定义数据以 data- 开头,多个单词由连字符 - 连接。这种写法中,连字符写法会转换成驼峰写法,而大写字符会自动转成小写字符。如:
data-element-type ,最终会呈现为 event.currentTarget.dataset.elementType ;
data-elementType ,最终会呈现为 event.currentTarget.dataset.elementtype 。

在界面onload函数中获取查询参数

页面与页面之间通信通过url来传递:
在这里插入图片描述
我们在页面加载的onload的函数中的options参数就可以拿到传过来的参数:
在这里插入图片描述

加载详情数据并填充页面

同样我们要导入数据的js文件在这里插入图片描述
我们通过对应的id号来从List中获取数据:
在这里插入图片描述
接着我们再在页面的wxml绑定对应的动态数据,这样我们就能实现点击文章跳转到对应的文章详情页:
在这里插入图片描述


http://chatgpt.dhexx.cn/article/PdpJpftd.shtml

相关文章

向阅读致敬!微信读书产品设计策略推导

全文11250字&#xff0c;拆解页面80个&#xff0c;3大理论设计模型&#xff0c;100多个产品设计细节&#xff0c;通过对【微信读书】的设计策略推导&#xff0c;为你提供一份读书类APP产品解题宝典&#xff01; 一、序言 1.1 适合人群 UI/交互设计师 跳出执行层的思维&#xff…

微信小程序-书籍阅读 【阅读、小说阅读、图书、世界读书日、爱读书爱分享】

前言&#xff1a; 微信小程序分为 小程序端【原生微信小程序】 和 后端【node】 两套代码。主要有四大模块&#xff1a;查找书籍、分享图书、书架、管理员发布书籍。阅读给人以力量&#xff0c;作为毕业设计的话是一个令人眼前一亮的作品&#xff0c;立意很稳也很积极向上&…

在线电子书阅读小程序,微信小程序电子书阅读,微信小程序小说阅读器毕业设计作品

项目背景和意义 目的&#xff1a;本课题主要目标是设计并能够实现一个基于微信小程序在线电子书阅读系统&#xff0c;前台用户使用小程序&#xff0c;后台管理使用基JavaMySql技术&#xff1b;通过后台录入电子书信息、书目录信息&#xff0c;用户通过小程序登录&#xff0c;查…

微信小程序阅读器功能

微信小程序 小说阅读器效果 基础功能&#xff1a; 上一章&#xff0c;下一章 目录显示全部章节&#xff0c;点击章节页面对应该章节&#xff0c;正序倒序功能 基本样式设置&#xff0c;背景板切换&#xff0c;字号切换&#xff0c;亮度调节 自定义返回按钮j 静态仿照数据&…

基于微信小程序的小说阅读系统(小程序+Nodejs)

目录 摘要 1 1 前言 3 1.1 项目介绍 3 1.2 项目背景 3 2 微书书城系统分析 3 2.1 需求分析 3 2.2 功能分析 3 2.3 系统用例图设计 3 2.4 系统流程图设计 3 2.5 系统开发环境 3 3 数据库分析与设计 4 3.1 数据库分析 4 3.2 数据库概念设计 4 3.3 数据逻辑结构设计 4 3.4 各表之间…

微信读书产品分析报告(附:信息结构图、功能结构图、产品结构图)

一、产品信息 产品名称&#xff1a;微信读书 产品类型&#xff1a;社交阅读 标语&#xff1a;让阅读不再孤单 产品版本&#xff1a;4.6.5 产品定位&#xff1a;在提供极致阅读体验的同时&#xff0c;为用户推荐合适的书籍&#xff0c;并可查看微信好友的读书动态、与好友讨论正…

【产品分析】从用户体验五要素分析——微信读书

本文从用户体验五要素&#xff1a;表现层面、框架层 、战略层、范围层、结构层&#xff0c;对微信读书进行了分析。 前言 互联网发展的速度也加速了知识更新的速度&#xff0c;也许今天你还手握焦点技能&#xff0c;明天就可能被遗忘在角落。一应俱全的网课、铺天盖地的资讯加…

tensorflow: greater()

tf.greater(x, y, nameNone) 返回&#xff1a;&#xff08;x > y&#xff09;的bool类型的张量 x: 一个张量。且必须是下列类型&#xff1a; types: float32, float64, int32, int64, uint8, int16, int8,uint16. y: 一个张量。且必须是与x类型一样。 name: 节点的操作…

G Greater and Greater

G Greater and Greater Description Given a sequence A of size n{n}n and a sequence B of size m, determine the number of subintervals(called S) of size m in A satisfying ∀i∈{1,2,⋯,m},Si≥Bi​. Input The first line contains two integers n,m (1≤n≤150000,1…

C++ greater/less 和建堆

文章目录 STL中的greater<>()和less<>()Heap定义堆排序构建堆堆排序 C的STL中堆的实现 STL中的greater<>()和less<>() 两个函数的头文件为 排序的时候&#xff0c;默认是从小到大&#xff1b;从大到小排序要使第三个参数为greater()。 建堆的时候&…

Greater and Greater

题目 传送门 题目大意 给定大小为n的序列A和大小为m的序列B&#xff0c;计算A中所有大小为m的子区间S&#xff0c;满足 分析 本题使用了一个special的STL&#xff1a;bitset 考虑bitset&#xff0c;对每个A求一个长为m的bitset Si&#xff0c;其中Si[j]1当且仅当Ai≥Bj。…

Error: Microsoft Visual C++ 14.0 or greater is required 解决方法

在Windows上安装某些Python依赖包时经常会遇到如下错误&#xff0c;其原因是&#xff1a;安装包&#xff08;此处是box2d-py&#xff09;没有找到Microsoft Visual C 14.0或更高版本的运行环境&#xff0c;所以无法正常启动。 error: subprocess-exited-with-error....Running…

什么是MVP模式?

MVP&#xff08;Model-View-Presenter&#xff09;是MVC模式的改良&#xff0c;由IBM的子公司Taligent提出。 和MVC的相同之处在于&#xff1a;Controller/Presenter负责业务逻辑&#xff0c;Model管理数据&#xff0c;View负责显示。 1.各部分之间的通信,都是双向的. View &l…

理解MVP设计模式

版权声明&#xff1a;转载请注明本文出自远古大钟的博客&#xff08;http://blog.csdn.net/duo2005duo&#xff09;&#xff0c;谢谢支持&#xff01; 目录(?)[] 转载请注明本文出自远古大钟的博客&#xff08;http://blog.csdn.net/duo2005duo&#xff09;&#xff0c;谢谢支…

iOS-MVP模式

前言 最近一段时间&#xff0c;公司刚做完一个MVP项目&#xff0c;我有一个习惯&#xff1a;在项目结项之后总结一下项目中新接触的问题。Google一下关键字“iOS MVP”&#xff0c;发现一些文章&#xff0c;最后是 这篇文章 带给我对MVP 的一些认识。MVP似乎有好多的变种&#…

Android:安卓学习笔记之MVP模式的简单理解和使用

Android MVP模式的简单理解和使用 MVP模式1、 为什么使用MVP模式&#xff1f;1.1、实例说明 2、一步步让你理解MVP2.1、MVP实现第一步&#xff0c; 将页面拆分为M/V/P三个模块2.2、 MVP实现第2步&#xff0c; 使用接口通信&#xff0c;进一步解耦2.2.1、MVP遵从的面向对象原则 …

MVP开发模式解析

前言 由于项目里同事用到MVP开发模式&#xff0c;我看了几篇关于 MVP 的文章&#xff0c;对其有了基本的了解之后&#xff0c;便照猫画虎进行了开发&#xff0c;之后便再也没接触过 MVP。 最近空闲读了些MVP的文章&#xff0c;受益匪浅&#xff0c;于是打算写一篇关于MVP开发…

MVP模式的优缺点

MVP模式是MVC的一个演化版本&#xff0c;全称是Model view Presenter。 MVP能够有效的降低View的复杂性&#xff0c;避免业务逻辑被塞进View中,使得View变成一个混乱的“大泥坑”。 MVP模式会解除View与Model的耦合&#xff0c;同时又带来了良好的可扩展性&#xff0c;可测试…

Android MVP开发模式 google 官方Mvp架构详解(转)

Google官方MVP Sample代码解读 关于Android程序的构架, 当前最流行的模式即为MVP模式, Google官方提供了Sample代码来展示这种模式的用法.Repo地址: android-architecture.本文为阅读官方sample代码的阅读笔记和分析. 官方Android Architecture Blueprints [beta]:Android在如…

MVP模式的相关知识

MVP 是从经典的模式MVC演变而来&#xff0c;它们的基本思想有相通的地方&#xff1a;Controller/Presenter负责逻辑的处理&#xff0c;Model提供数据&#xff0c;View负责显示。作为一种新的模式&#xff0c;MVP与MVC有着一个重大的区别&#xff1a;在MVP中View并不直接使用Mod…