vue3 自定义网站title的hooks

在开发网页的时候会遇到,每个页面需要有自己的标题的需求,这样的话每个页面都需要写重复的代码。

通过hooks封装之后,页面上只需要一行代码就能搞定。

具体实现代码如下:

封装的title hooks

javascript 复制代码
import { ref,watchEffect,onUnmounted } from 'vue'

export function useTitle(title:string,restoreOnUnMount = true){
    const cTitle = document.title;
    const titleRef = ref(title);
    watchEffect(()=>{
        document.title = titleRef.vaule;
    })
    if(restoreOnUnMount){
        onUnmounted(() => {
            document.title = cTitle;
        })
    }
    const setTitle = (title:string) =>{
        titleRef.value = title;
    }
    return setTitle
}

在页面引入hooks,写下边代码

javascript 复制代码
const setTitle = useTitle('测试标题')
相关推荐
许彰午1 分钟前
12_ArrayList与LinkedList深度对比
java·前端·python
lichenyang45318 分钟前
鸿蒙练习 12:Provider/Consumer 跨层共享 + HAR 多模块拆分
前端
朱涛的自习室25 分钟前
逃离“古法测试”:AI 测试的“三大定律”
android·前端·人工智能
糖果店的幽灵26 分钟前
Claude Code 完全实战指南 - 第二章:CLI 命令大全
前端·chrome
半个烧饼不加肉1 小时前
JS 底层探究--上下文
开发语言·javascript·ecmascript
ZC跨境爬虫1 小时前
跟着 MDN 学CSS day_45:媒体查询入门指南——从语法到移动优先实践
前端·css·ui·html·tensorflow·媒体
Hoey1 小时前
虚拟 DOM 和 DIFF 算法
前端·vue.js
bkspiderx1 小时前
HTTP协议:Web通信的“通用语言”解析
前端·网络协议·http
云水一下1 小时前
模块系统与 npm——万物皆模块
前端·npm·node.js
无风听海2 小时前
PKCE 的 S256 算法深度剖析:从协议设计到密码学原理
javascript·网络·算法·密码学