vue-router改title,改完router-view消失

贴代码:

想每次进一个路由的时候,改一下document.title

import Vue from 'vue'
import Router from 'vue-router'

Vue.use(Router)

const router = new Router({
  routes: [
    //首页
    {
      path: '/',
      name: 'index',
      component: () => import('../components/index.vue'),
      meta: {
        title: '首页'
      }
    },
    //详情页
    {
      path: '/detail',
      name: 'Detail',
      component:  () => import('../components/Detail.vue'),
      meta: {
        title: '详情页'
      }
    }
  ]
});

router.beforeEach((to, from, next) => {
  if(to.meta.title) {
    document.title = to.meta.title;
  }
});

export default router

去掉router.beforeEach之后,router-view就出现了,然后document.title没改,
加回router.beforeEach之后,router-view就消失了,然后document.title改了。

阅读 3.9k
3 个回答
router.beforeEach((to, from, next) => {
  if(to.meta.title) {
    document.title = to.meta.title;
  }
  next(); // 记得调用 next
});

谢邀,使用路由守卫时,注意执行next() 方法

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题