0. 直接上 预览链接 + 效果图
1. 实现思路
( 1 ) 从路由router里面得到组件的title
( 2 ) title存vuex (本项目已经封装h5的sessionStorage和localStorage也可以存在这里面)
( 3 ) 设置 title
(1)从路由router里面得到组件的title
在 router.beforeEach((to, from, next) => {}
里面
const browserHeaderTitle = to.name
( 2 ) title存vuex
SET_BROWSERHEADERTITLE: (state, action) => { state.browserHeaderTitle = action.browserHeaderTitle } store.commit('SET_BROWSERHEADERTITLE', { browserHeaderTitle: browserHeaderTitle })
( 3 ) 设置 title
我们在路由after后设置title
/** * 设置浏览器头部标题 */ export const setTitle = function(title) { title = title ? `${title}` : 'NxAdmin' window.document.title = title } router.afterEach(() => { NProgress.done() // 结束Progress setTimeout(() => { const browserHeaderTitle = store.getters.browserHeaderTitle setTitle(browserHeaderTitle) }, 0) })