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

uni-app项目实战笔记4--使用组件具名插槽slot定义公共标题模块

先来看效果:

如图,“每日推荐”,“专题精选”这些公共标题有相同的地方,也有自己的独特的地方,像这类有共性又有个性的可考虑使用slot插槽来实现。

实现步骤:

1.在前面文章创建的公共组件common-title定义具名插槽方便调用:

<view class="common-title"><view class="name"><slot name="name"></slot></view><view class="custom"><slot name="custom"></slot></view>
</view>

css样式:

<style lang="scss" scoped>.common-title{display: flex;padding: 0 30rpx;justify-content: space-between;display: flex;align-items: center;.name{font-size: 40rpx;}}
</style>

 

2.使用插槽:

<common-title><template #name>每日推荐</template><template #custom><view class="date"><uni-icons type="calendar" size="18" color="#28b389"></uni-icons><uni-dateformat :date="Date.now()" format="dd日"></uni-dateformat></view></template>
</common-title>

CSS代码:

.date{display: flex;align-items: center;margin-left: 5rpx;color: #28b389;}

 

有共性的地方--标题,我们使用name插槽,个性化的地方使用custom插槽。

上面的代码中使用uniapp的日期格式化扩展组件:uni-app官网

它的属性配置主要有以下几项:

属性名类型默认值说明
dateObject|String|NumberDate.now()要格式化的日期对象/日期字符串/时间戳
thresholdArray[0, 0]转化类型阈值
formatString'yyyy/MM/dd hh:mm:ss'格式字符串
localeStringzh格式化使用的语言,目前支持zh(中文)、en(英文)
Threshold Options

格式化组件会对时间进行用户友好转化,threshold就是用来控制转化的时间阈值的。

[60000, 3600000]为例,将传入时间与当前时间差的绝对值记为delta(单位毫秒)

  • delta < 60000时,时间会被转化为“刚刚|马上”
  • delta >= 60000 && delta < 3600000时,时间会被转化为“xx分钟前|xx分钟后”,如果超过1小时会显示成“xx小时前|xx小时后”,以此类推
  • delta >= 3600000时,会按照format参数传入的格式进行格式化

如果不想转化为“马上|刚刚”可以传入:threshold = "[0,3600000]"。默认值[0,0]既不会转换为“马上|刚刚”也不会转化为“xx分钟前|xx分钟后”

#Format Options

 

format接收字符以及含义如下:

字符说明
yyyy四位年份
yy两位年份
MM两位月份(不足两位在前面补0)
M月份,不自动补0
dd两位天(不足两位在前面补0)
d天,不自动补0
hh两位小时(不足两位在前面补0)
h小时,不自动补0
mm两位分钟(不足两位在前面补0)
m分钟,不自动补0
ss两位秒(不足两位在前面补0)
s秒,不自动补0
SSS三位毫秒(不足三位在前面补0)
S毫秒,不自动补0

 专题精选部分:

<view class="theme"><common-title><template #name>专题精选</template><template #custom><navigator url="" class="more">More</navigator></template></common-title>
</view>

CSS部分:

.theme{padding-top: 50rpx;.more{font-size: 32rpx;color:#888;}}

http://www.xdnf.cn/news/1017361.html

相关文章:

  • 案例:城市“光革命”背后,塔能科技的智能照明进化方程式
  • 欧美简洁时尚风格通用PPT模版分享
  • 麒麟信安支撑2025年电力监控系统安全运维新技能推广应用示范培训班顺利举办
  • Java + easyexcel 新旧数据对比,单元格值标红
  • 优化 Excel 文件可以提升文件性能、减少文件大小并加快计算速度
  • mysql中替换字符串(正则)
  • mapbox进阶,切片网格生成实现
  • 深入理解Python协程:asyncio、异步并发、事件循环
  • 开疆智能ModbusTCP转Devicenet网关连接三菱PLC与ABB机器人配置案例
  • NAS 年中成果汇报:从入门到高阶的影视/音乐/小说/资源下载 等好玩Docker 全集合
  • Python让自动驾驶“看见未来”:环境建模那些事儿
  • AWS知识点和技术面试模拟题
  • 基于python大数据的nba球员可视化分析系统
  • 大模型驱动数据分析革新:美林数据智能问数解决方案破局传统 BI 痛点
  • CSS基础学习1
  • Python 数据分析10
  • 【Three.js】初识 Three.js
  • 【论文阅读33】滑坡易发性 PINN ( EG2025 )
  • 基于 SpaCy DependencyMatcher 编写复杂依存关系规则实战指南
  • java 将多张图片合成gif动态图
  • 国产数据库StarRocks在数栈轻量化数据开发的全流程实践
  • 普通人怎样用好Deepseek?
  • MySQL 8.0 OCP 英文题库解析(十九)
  • 26-数据结构-线性表2
  • linux alignment fault对齐造成设备挂死问题定位梳理
  • Leetcode 2604. 吃掉所有谷子的最短时间
  • 线性回归原理推导与应用(九):逻辑回归多分类问题的原理与推导
  • 用户通知服务,轻松实现应用与用户的多场景交互
  • 嵌套滚动交互处理总结
  • FastChat 架构拆解:打造类 ChatGPT 私有化部署解决方案的基石