CodeSky 代码之空

随手记录自己的学习过程

vue-router修改Title的姿势

2016-08-07 15:06分类: JavaScript评论: 1

这周在写的时候发现不知道怎么改变Title,因为Vue注册的作用域是body,覆盖不到head的title部分,之后查了一下,有人提议说可以把作用域注册到html,试了之后似乎报了一个Warning,看着也不是什么靠谱的解决方案,作为一个英语渣就随便抽象的查了一下,GitHub有讨论:Accessing route VM within router hooks for updating document.title

现在应该算是比较官方的做法是:

首先加:

1<router-view @route-data-loaded="changeTitle"></router-view>
2
1methods: {
2 changeTitle(vm) {
3   if (vm.pageTitle) {
4     document.title = `${vm.pageTitle}`;
5   }
6 }
7}
8

加完这波,接下来还要在组件里加上pageTitle:

1route: {
2 data: ({next}) => {
3   next({
4     pageTitle: 'Application'
5   });
6 }
7}
8

结束。

评论 (1)

cinwell2016年8月12日 22:31

https://github.com/mint-ui/docs/blob/master/src/route.js#L315-L317