当前位置: 首页 > 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;}}

相关文章:

  • 偷懒一下下
  • Logic Error: 如何识别和修复逻辑错误
  • [MSPM0开发]之七 MSPM0G3507 UART串口收发、printf重定向,解析自定义协议等
  • day54 python对抗生成网络
  • 【Linux仓库】进程状态【进程·叁】
  • 数据结构——第二章 线性表之顺序表、单链表
  • navicat可视化页面直接修改数据库密码——mysql、postgresql、mangodb等
  • 华为云Flexus+DeepSeek征文 | 当大模型遇见边缘计算:Flexus赋能低延迟AI Agent
  • 2.3 ASPICE的架构与设计
  • 松胜与奥佳华按摩椅:普惠科技与医疗级体验的碰撞
  • 【Vue PDF】Vue PDF 组件初始不加载 pdfUrl 问题分析与修复
  • Mac电脑 系统监测工具 System Dashboard Pro
  • 在mac上安装sh脚本文件
  • Unity编辑器-获取Projectwindow中拖拽内容的路径
  • 科技新底座揭幕!2025 MWC上海锚定AI+、5G融合、双区创新三大引擎
  • 人工智能时代汽车营销如何创新突破?云徙科技汽车营销智能体助力车企立足数智化转型
  • 从流量到变现:知识IP商业化的底层逻辑|创客匠人解析
  • Nginx 负载均衡、高可用及动静分离
  • RabbitMQ配置镜像
  • 监控视频云解决方案详解
  • 网站建设营销排名方案/黑帽seo排名
  • 淮南网站建设/长沙sem培训
  • 杜桥做网站哪家好/搜索引擎营销的简称
  • 基本网络架构图/seo网站推广案例
  • 做网站需要买服务器/广告投放网站
  • 容桂网站制作动态/如皋网站制作