vue动态改变router 的title
时间: 2023-07-01 18:04:23 浏览: 104
vue实现路由切换改变title功能
要动态改变Vue Router的标题,你可以使用 `beforeEach` 导航守卫。在导航到每个路由之前,该守卫都会被调用,你可以在这里动态修改页面标题。
下面是一个示例代码:
```javascript
// main.js
import Vue from 'vue'
import App from './App.vue'
import router from './router'
Vue.config.productionTip = false
router.beforeEach((to, from, next) => {
if (to.meta.title) {
document.title = to.meta.title
}
next()
})
new Vue({
router,
render: h => h(App),
}).$mount('#app')
```
在上面的代码中,我们通过 `to.meta.title` 获取了将要跳转到的路由的标题,并将其赋值给 `document.title`,从而改变页面标题。你需要在路由配置中设置每个路由的标题,如下所示:
```javascript
// router.js
import Vue from 'vue'
import Router from 'vue-router'
import Home from './views/Home.vue'
import About from './views/About.vue'
Vue.use(Router)
export default new Router({
mode: 'history',
routes: [
{
path: '/',
name: 'home',
component: Home,
meta: {
title: 'Home Page'
}
},
{
path: '/about',
name: 'about',
component: About,
meta: {
title: 'About Page'
}
}
]
})
```
在上面的代码中,我们在每个路由的 `meta` 对象中设置了一个 `title` 属性,以便在导航到该路由时更新页面标题。
希望这可以帮助你动态改变Vue Router的标题。
阅读全文