vue2项目中的路由页面,希望可以为每个页面设置不同的标题(title),就是显示在浏览器或微信中的标题。
总结以下的2种方式:
- 方式1,router/index.js 中增加如下代码:
import Vue from 'vue'; const DEFAULT_TITLE = '这是个默认的标题'; router.beforeEach((to, from) => { Vue.nextTick(() => { document.title = to.meta.title || DEFAULT_TITLE; }); });
定义路由的时候,增加meta:
{ path: '/some_path', name: 'SomeName', component: () => import('@/views/SomeName.vue'), meta: {title: '这个页面特定的标题'} },
- 方式2,直接在vue页面中:
export default { name: 'SomeName', watch: { $route: { immediate: true, handler(to, from) { document.title = '这个页面特定的标题'; } }, } };
文章评论