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('测试标题')
相关推荐
大胖丫几秒前
vue 学习-vite api.js
开发语言·前端·javascript
孙桂月2 分钟前
ES6相关操作(2)
前端·javascript·es6
遇见很ok2 分钟前
js中 ES6 新特性详解
开发语言·javascript·es6
陈浩源同学2 分钟前
学习 TypeScript 栈和队列数据结构
前端·算法
我这一生如履薄冰~4 分钟前
简单封装一个websocket构造函数
前端·javascript·websocket
fangcaojushi4 分钟前
解决webpack5.54打包图片及图标的问题
前端·vue.js
海盗强5 分钟前
Webpack打包优化
前端·webpack·node.js
星之卡比*7 分钟前
前端面试题---vite和webpack的区别
前端·面试
^^为欢几何^^11 分钟前
npm、pnpm和yarn有什么区别
前端·npm·node.js
前端菜鸟日常18 分钟前
vue2和vue3的按需引入的详细对比通俗易懂
javascript·vue.js·ecmascript