by Sai gowtham

How to set a document title in Vue app

In this tutorial, we are going to learn about how to set a document <title> to the pages in a Vue app using the vue-meta (npm) package.

Installing the vue-meta package

The vue-meta package helps us to set the document title and other meta tags to the current page.

Run the following command to install the package.

npm install vue-meta

To configure the package add the following (highlighted) lines to your main.js file.

main.js
import Vue from "vue";
import App from "./App.vue";
import VueMeta from 'vue-meta';
Vue.use(VueMeta);
new Vue({
  render: h => h(App)
}).$mount("#app");

Setting the title

Now, inside our vue components, we can set a title to the page using the metaInfo property.

Here is an example that sets the title to the About page.

About.vue
<template>
  <div id="app">
    <h1>This About Us Page</h1>
  </div>
</template>

<script>
  export default {
    name: 'About',
    metaInfo: {
      title: 'About Us'    }
  }
</script>

It will render an HTML <title> tag in your page like this.

<title>About Us</title>

If you don’t like to use an external package to set the title, then you can use the document.title property inside the created() lifecycle hook.

About.vue
<template>
  <div id="app">
    <h1>This About Us Page</h1>
  </div>
</template>

<script>
  export default {
    name: 'About',
    created(){
        document.title = "About Us"    }
  }
</script>

Top Udemy Courses

JavaScript - The Complete Guide 2020 (Beginner + Advanced)
JavaScript - The Complete Guide 2020 (Beginner + Advanced)
45,614 students enrolled
52 hours of video content
View Course
React - The Complete Guide (incl Hooks, React Router, Redux)
React - The Complete Guide (incl Hooks, React Router, Redux)
284,472 students enrolled
40 hours of video content
View Course
Vue - The Complete Guide (w/ Router, Vuex, Composition API)
Vue - The Complete Guide (w/ Router, Vuex, Composition API)
130,921 students enrolled
48.5 hours of video content
View Course