Vue设置路由title,但刷新页面时title失效
vue
vuejs/vue: 是一个用于构建用户界面的 JavaScript 框架,具有简洁的语法和丰富的组件库,可以用于开发单页面应用程序和多页面应用程序。
项目地址:https://gitcode.com/gh_mirrors/vu/vue
·
1. 在 router/index.js 中,使用meta属性的title设置好每个路由对应的title值
/* router/index.js: */
routes: [
{
path: '/',
component: () => import('../login'),
name: 'login',
meta: {
title: '用户登录'
}
},
//.............
]
2.在 main.js 中设置路由守卫,vue页面切换时,网页title随之切换
/* main.js: */
/*路由守卫*/
router.beforeEach((to, from, next) => {
/* 路由发生变化修改页面title */
if (to.meta.title) {
document.title = to.meta.title
}
next()
})
按照常规步骤设置好路由的title,vue页面切换时,也确实实现了title的变化,但是我发现刷新页面之后title失效了!!!!
百度之后,发现很多人用 ‘ vue-wechat-title ’ 插件来设置title,尝试了一下,确实解决了我的问题
具体操作如下:
1.同上,在 router/index.js 中,使用meta属性的title设置好每个路由对应的title值
2.在项目的根目录下,打开命令行,通过npm install vue-wechat-title --save来安装该插件:(有一些编辑器自带Terminal命令行操作台,比如我用的WebStorm,可根据个人情况操作。)
3.在 main.js 中引入并且使用该插件:
import VueWechatTitle from 'vue-wechat-title'
Vue.use(VueWechatTitle)
4.修改 App.vue 的路由标签,在 router-view 标签上添加 v-wechat-title='$route.meta.title' :
<template>
<div id="app">
<router-view v-wechat-title='$route.meta.title'/>
</div>
</template>
自此,问题解决,以此给自己做个记录。
不知道别的小伙伴有没有遇到像我一样的问题,刷新页面之后title失效了,我百度了一下好像没有相关词条,如果有小伙伴遇到了跟我一样的问题,希望也能帮助到你。
vuejs/vue: 是一个用于构建用户界面的 JavaScript 框架,具有简洁的语法和丰富的组件库,可以用于开发单页面应用程序和多页面应用程序。
最近提交(Master分支:2 个月前 )
9e887079
[skip ci] 1 年前
73486cb5
* chore: fix link broken
Signed-off-by: snoppy <michaleli@foxmail.com>
* Update packages/template-compiler/README.md [skip ci]
---------
Signed-off-by: snoppy <michaleli@foxmail.com>
Co-authored-by: Eduardo San Martin Morote <posva@users.noreply.github.com> 1 年前
新一代开源开发者平台 GitCode,通过集成代码托管服务、代码仓库以及可信赖的开源组件库,让开发者可以在云端进行代码托管和开发。旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。
更多推荐

所有评论(0)