使用vue-router时如何更改页面标题?

如果可能,我想在路线定义中指定标题。通常在<head><title>浏览器标题栏中指定和显示的内容。

我的项目设置如下:

main.js

import Vue from 'vue'
import App from './App.vue'
import VeeValidate from 'vee-validate';
import router from './router'
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';

Vue.use(VeeValidate);
Vue.use(ElementUI);
Vue.config.productionTip = false

new Vue({
    router,
    render: h => h(App)
}).$mount('#app')

router.js

import Vue from 'vue'
import Router from 'vue-router'
import Skills from './components/Skills.vue'
import About from './components/About.vue'

Vue.use(Router)

export default new Router({
  routes: [
    {
      path: '/',
      name: 'skills',
      component: Skills,
      meta: { title: 'Skills - MyApp' } // <- I would to use this one
    },
    {
      path: '/about/:name',  // Add /:name here
      name: 'about',
      component: About,
      meta: { title: 'About - MyApp' }
    }
  ]
})

最好是,我希望有一个自动系统,而不是在每个组件的已创建功能上更改页面标题。谢谢。

卡卡西三千曜飞云2020/03/19 10:10:41

我想补充一点,以上内容并未真正保留历史记录。请参阅https://github.com/vuejs/vue-router/issues/914#issuecomment-384477609,以获得更好的答案,该答案实际上可以处理历史记录(尽管有些古怪)。