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('测试标题')
相关推荐
Amumu121388 分钟前
Redux介绍(一)
前端·javascript·react.js
旭日猎鹰9 分钟前
配置ReactNative环境并创建第一个程序
javascript·react native·react.js
麷飞花11 分钟前
TypeScript问题
前端·javascript·vscode·typescript·ts
阿湯哥13 分钟前
ReAct智能体
前端·react.js·前端框架
放逐者-保持本心,方可放逐15 分钟前
electron 中的那些事(很关键)-核心要点补充
前端·javascript·electron
战族狼魂16 分钟前
Python 完整实现 BCrypt GUI 工具
java·前端·python
2301_7891695416 分钟前
ai讲React 18 + Context API 极简教程 解决深层组件调用父组件里其他组件方法
javascript·react.js·ecmascript
念念不忘 必有回响19 分钟前
vue项目从零开始配置国际化
前端·javascript·vue.js
J_liaty21 分钟前
前后端跨域处理全指南:Java后端+Vue前端完整解决方案
java·前端·vue.js·spring boot·后端
小二·25 分钟前
Python Web 开发进阶实战:国际化(i18n)与多语言支持 —— Vue I18n + Flask-Babel 全栈解决方案
前端·vue.js·python