vue設置路由title,但刷新頁面時title失效的解決
1. 在router/index.js中
使用meta屬性的title設置好每個路由對應的title值
/* router/index.js: */
?
routes: [
? ? {
? ? ? path: '/',
? ? ? component: () => import('../login'),
? ? ? name: 'login',
? ? ? meta: {
? ? ? ? title: '用戶登錄'
? ? ? }
? ? },
? ? //.............
]2.在main.js中設置路由守衛(wèi)
vue頁面切換時,網(wǎng)頁title隨之切換
/* main.js: */
?
/*路由守衛(wèi)*/
router.beforeEach((to, from, next) => {
? /* 路由發(fā)生變化修改頁面title */
? if (to.meta.title) {
? ? document.title = to.meta.title
? }
? next()
})按照常規(guī)步驟設置好路由的title,vue頁面切換時,也確實實現(xiàn)了title的變化,但是我發(fā)現(xiàn)刷新頁面之后title失效了!?。。?/p>
百度之后,發(fā)現(xiàn)很多人用 ‘ vue-wechat-title ’ 插件來設置title,嘗試了一下,確實解決了我的問題
具體操作如下
同上在 router/index.js 中
使用meta屬性的title設置好每個路由對應的title值
在項目的根目錄下
打開命令行,通過npm install vue-wechat-title --save來安裝該插件:(有一些編輯器自帶Terminal命令行操作臺,比如我用的WebStorm,可根據(jù)個人情況操作。)
在main.js中引入并且使用該插件
import VueWechatTitle from 'vue-wechat-title' Vue.use(VueWechatTitle)
修改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失效了,我百度了一下好像沒有相關詞條,如果有小伙伴遇到了跟我一樣的問題,希望也能幫助到你。
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
vue-cli webpack 開發(fā)環(huán)境跨域詳解
本篇文章主要介紹了vue-cli webpack 開發(fā)環(huán)境跨域詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-05-05

