我使用vue cli和webpack来构建vue项目.

我想用模板和路由名称设置页面标题.

rotuer/index.js

import Vue from 'vue';
import Router from 'vue-router';
import HelloWorld from '@/components/HelloWorld';

Vue.use(Router);

export default new Router({
      mode: 'history',
      routes: [
    {
      path: '/',
      name: 'HelloWorld',
      component: HelloWorld,
    },
  ],
});

应用程序.vue

<template>
  <div id="app">
    <router-view/>
  </div>
</template>

<script>
export default {
 name: 'App',
 metaInfo: {
    title: "My Website - "+ route.name,
},
};

</script>

推荐答案

你可以使用路由的beforeEach()助手.

例子:

路由.js

import Foo from '@/components/Foo'

export default new VueRouter({
  mode: 'history',
  routes: [
    {
      path: '/',
      name: 'Foo',
      component: Foo,
      meta: {
        title: 'Foo'
      }
    }
  ]
})

app.jsmain.js或任何你的主Javascript文件中.将代码放在前面提到的JS文件中,将允许所有页面相应地更新标题,这是一种更干净的处理标题的方法.

import router from '@/routes'

// your other codes here

router.beforeEach((to, from, next) => {
  document.title = `My website - ${to.meta.title}`
  next()
})

Vue.js相关问答推荐

我可以手动访问 vue-router 解析器吗?

带 Bootstrap 的 Vue js,导航栏菜单不起作用

Vuetify 扩展面板,面板标题左侧带有图标

VueJS CKeditor5 上传图片

如何对对象数组进行 v-model

VueJS 插件的如何react式绑定?

如何使用 v-on:change 将输入文本传递给我的 vue 方法?

在基于 TypeScript 的 Vue 中将 vuex 状态和Mutations绑定到复选框组件属性

如何在不实例化根实例的情况下使用 vue 组件?

VueRouter 未定义

为什么 vue 文档说 refs 不是响应式的,而实际上它们是响应式的

动态注册本地 Vue.js 组件

如何更改 Vuetify 日历日期格式

如何在 Vuex 中获取 Vue 路由参数?

如何确定 Vue 何时完成更新 DOM?

如何将事件绑定到 Vuetify 中的树视图 node ?

单击时交换组件

脚本npm run dev和npm run watch是做什么用的?

vue-cli@3 没有可用于依赖类型的模块工厂:CssDependency

这个业务逻辑有多少属于 Vuex?