使用Vue3封装的切换主题开关

组件介绍

第一次封装正经组件,更加深刻地感受到了Vue的强大及其带来的便利,记录一下😄打算多搞几个练Vue3

这是一个绑定了两个自定义事件、两个具名插槽的组件,可以切换白天、黑夜两种状态,因为放了两个slot插槽因此支持自定义状态标识

食用方法

1.由于使用的是具名插槽,因此需要在该组件注册至父组件后,在组件内放入两个带有v-slottemplate标签
2.需要通过v-slot传值daynight来分别表示白天与黑夜的主题
3.daynight需要是一个函数
4.若插槽内不传入任何内容,则默认补充汉字“日”与“月”

码上掘金

码上掘金可以嵌套组件吗?这样似乎不好展示效果

代码

组件:

  • 组件内对可能会发生样式变化的容器设置了transition并设置在0.3s完成过渡
  • 组件内使用了ref来获取DOM节点
  • 为了增加稍微丝滑一点的效果,开关中间的圆形按钮会变宽后变窄
  • situation是非常重要的变量,表示目前的主题状态,当发生改变时将调用父组件传入的对应函数daynight,且容器样式将会发生改变
<template lang=""><div class="slip-oute
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值