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

构建文章详情页面

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

<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绑定对应的动态数据,这样我们就能实现点击文章跳转到对应的文章详情页:
在这里插入图片描述

  • 4
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
微信小程序是一种轻量级的应用程序,可以在微信内直接运行,无需下载安装。下面是一个简单的微信小程序入门案例,供参考: 1. 创建小程序项目 首先,在微信开发者工具中创建一个小程序项目,填写相应的项目名称、AppID等信息。创建完成后,可以看到项目中已经自动生成了一些文件和目录。 2. 编写界面和逻辑代码 在小程序项目中,界面和逻辑代码被分别存储在两个不同的文件夹中,分别为 `pages` 和 `utils`。其中,`pages` 文件夹存放小程序的界面代码,而 `utils` 文件夹则存放小程序的逻辑代码。 在 `pages` 文件夹中,可以新建一个 `.wxml` 文件来定义小程序的界面结构,使用 `.wxss` 文件来设置界面的样式,使用 `.js` 文件来编写小程序的逻辑代码。 例如,下面是一个简单的小程序界面代码: ``` <!-- index.wxml --> <view class="container"> <text>欢迎使用微信小程序!</text> </view> ``` 在对应的 `.js` 文件中,可以编写小程序的逻辑代码,例如: ``` // index.js Page({ data: { message: 'Hello, World!' } }) ``` 3. 预览和调试小程序 在编写完小程序的界面和逻辑代码后,可以在微信开发者工具中进行预览和调试。在工具中,点击“预览”按钮,即可在微信客户端中查看小程序的效果。 在预览和调试过程中,可以使用工具提供的调试功能来检查小程序的运行状态和调试错误。 4. 发布小程序 当小程序开发完成后,可以将其发布到微信小程序平台,供用户使用。在微信开发者工具中,点击“上传”按钮,即可将小程序上传到微信小程序平台进行审核和发布。 需要注意的是,小程序需要经过审核才能够正式发布。因此,在上传小程序之前,需要仔细检查小程序的代码和功能,确保符合微信小程序的相关规定和要求。 以上是一个简单的微信小程序入门案例,希望对初学者有所帮助。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

gujunhe

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值