封装---统一封装处理页面标题

一.采用工具来实现(setPageTitle.ts)

多个页面中用更统一的方式设置 document.title,可以封装一个工具函数:

在utils目录下新建文件:setPageTitle.ts

如果要在每个页面设置相同的网站标志可以使用下面的appName

TypeScript 复制代码
const appName: string = import.meta.env.VITE_APP_NAME

export function setPageTitle(title: string) {
  if (typeof document !== 'undefined') {
    document.title = `${title} - ${appName}`
  }
}

其中的appName定义在.nev文件中:.nev

TypeScript 复制代码
# 设置名字
VITE_APP_NAME = "DevMentor"

使用时直接导入这个工具使用

二.封装为组件使用

我这里采用svelte框架示例,其他vue,react大差不差

TypeScript 复制代码
<script lang="ts">
  export let title: string
  const appName: string = import.meta.env.VITE_APP_NAME
  const fullTitle: string = `${appName}-${title}`
</script>

<svelte:head>
  <title>{fullTitle}</title>
</svelte:head>

使用:

TypeScript 复制代码
<PageTitle title="用户管理" />

三.在vue中的的路由设置

如果你使用 Vue Router(通常用于多页 SPA),可以这样统一控制标题。

TypeScript 复制代码
{
  path: '/paper/edit',
  name: 'EditPaper',
  component: () => import('@/views/Paper/Edit.vue'),
  meta: {
    title: '编辑试卷'
  }
}

如果需要动态设置:

TypeScript 复制代码
router.beforeEach((to, from, next) => {
  const title = to.meta?.title
  if (title) {
    document.title = `MyAdmin - ${title}`; // 可加前缀
  }
  next();
});

上面两个代码在一个文件中;router/index.ts

相关推荐
chuan.bai17 分钟前
Java RAG 实战(第 11 篇):RAG 知识工作台网页
java·开发语言·人工智能
小徐_23332 小时前
wot-ui-cli 1.1.0 发布:支持 OpenCode、Antigravity,wot-ui 图标迁移不再靠猜
前端
离陌在学C#3 小时前
C# 事件(Event)详解:从概念到实战
开发语言·c#
__zRainy__3 小时前
Node.js Web 框架选型指南:从 Express 到 Hono 的全景对比
前端·node.js·express·koa·nestjs·egg·fastify
Terra.K3 小时前
Java异常学习[特殊字符]
java·开发语言·学习
西瓜有点饿3 小时前
PostCSS 和 UnoCSS 的作用和区别
前端·postcss
mCell3 小时前
Lua 编程入门:从基础语法到元表
javascript·算法·lua
伟大的兔神4 小时前
我做了一个本地优先的 AI 图片工作台:Loomora v1.0.0 正式发布
前端·javascript·vue.js
葡萄城技术团队5 小时前
InfluxDB 2\.x 深度解析:核心架构、Flux 函数与制造业落地指南(三)
java·开发语言·架构
counting money5 小时前
Java IO流详解:从InputStream到文件操作实战
java·开发语言·python