Как получить title страницы в шаблоне nuxt если title задан в отдельном файле который является частью общего шаблона?
Если не ошибаюсь, то в nuxtjs возможно добавить title двумя способами:
nuxt.config.jsexport default {
head: {
titleTemplate: '%s - Nuxt.js',
meta: [
{ charset: 'utf-8' },
{ name: 'viewport', content: 'width=device-width, initial-scale=1' },
// hid is used as unique identifier. Do not use `vmid` for it as it will not work
{ hid: 'description', name: 'description', content: 'Meta description' }
]
}
}
head()<template>
<h1>{{ title }}</h1>
</template>
<script>
export default {
data () {
return {
title: 'Hello World!'
}
},
head () {
return {
title: this.title,
meta: [
// hid is used as unique identifier. Do not use `vmid` for it as it will not work
{ hid: 'description', name: 'description', content: 'My custom description' }
]
}
}
}
</script>
Скорее всего, как и asyncData, head не сработает в компоненте, этот метод работает только в страницах (*.vue файлах лежащих в папке /pages).
Получить же в title в самом шаблоне, можно например так:
<template>
<h1>{{ title }}</h1>
</template>
<script>
export default {
data () {
return {
title: ''
}
},
mounted () {
this.title = document.title
}
}
</script>
Если правильно Вас понял и ещё актуально:
this.$meta().resume().metaInfo.title
Подробнее: nuxt.js - meta
Сборка персонального компьютера от Artline: умный выбор для современных пользователей