Je préfère le jeu de l' <title>
à partir de la vue de la partie, il y a essentiellement deux façons de le résoudre.
L'utilisation d'un Composant existant
Par exemple, la vue-headful:
Installer
npm i vue-headful
Enregistrer le composant:
import Vue from 'vue';
import vueHeadful from 'vue-headful';
Vue.component('vue-headful', vueHeadful);
new Vue({
// your configuration
});
Et puis utilisez la vue-headful composant de chaque de votre point de vue:
<template>
<div>
<vue-headful
title="Title from vue-headful"
description="Description from vue-headful"
/>
</div>
</template>
Notez que la vue-headful ne soutient pas seulement le titre, mais aussi de plusieurs balises meta et de la langue du document.
Créez votre propre Composant
Créer une vue de fichier qui contient:
<script>
export default {
name: 'vue-title',
props: ['title'],
created () {
document.title = this.title;
},
watch: {
title () {
// only used when the title changes after page load
document.title = this.title;
}
},
render () {
},
}
</script>
Enregistrer le composant à l'aide de
import titleComponent from './title.component.vue';
Vue.component('vue-title', titleComponent);
Ensuite, vous pouvez l'utiliser dans vos vues, par exemple
<vue-title title="Static Title"></vue-title>
<vue-title :title="dynamic.something + ' - Static'"></vue-title>