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('测试标题')
相关推荐
前端小D19 小时前
React Native项目开发(iOS侧为例)
javascript·react native·react.js
xixingzhe219 小时前
本地桌面客户端入门开发
前端
不磕了还不行19 小时前
用 Vue + Element UI 把元宝搜索的返回值做成“能点开检查的证据卡片”
前端·vue.js·ui
Csvn1 天前
WASM
前端
修己xj1 天前
我用 AI 给自己写了一个 Markdown 编辑器,然后把它开源了
前端
FRing031 天前
vue2干货总结2(v-bind、v-for、v-model、指令修饰符、v-bind操作class和style)
开发语言·前端·vue.js·vue2
幸运小猿1 天前
模拟慢上传-处理超时重试image 丢失线上问题
前端·javascript·html
moshuying1 天前
网购能买Token了!
前端
h_65432101 天前
echarts实现柱状图加一条横线
前端·echarts
风骏时光牛马1 天前
生成一个后端标题,只需要一个标题,不需要其他的任何文本。
前端