>> После тестов выяснилось, что это подходит только для статики.
Спасибо за ответы. Только сейчас зашёл на данный ресурс и только недавно закончил реализацию вот такого простого метода изменения Title через vue-компоненту с css-директивой display, выставленной в none.
<template>
<div>
</div>
</template>
<script>
export default {
name: 'Title',
props: {
name: String
},
beforeMount() { document.title = this.name },
beforeUpdate() { document.title = this.name }
}
</script>
<style lang="scss" scoped>
div { display: none; }
</style>
>>> Новый скрипт для динамического изменения Title:
<!-- Title.vue -->
<template>
<div>
{{ Title }}
</div>
</template>
<script>
import { mapState } from 'vuex'
export default {
name: 'Title',
computed: mapState([ 'Title' ]),
beforeMount() { document.title = this.Title },
beforeUpdate() { document.title = this.Title }
}
</script>
<style lang="scss" scoped>
div { display: none; }
</style>
// App.vue
import Menu from './components/Menu'
import { mapState } from 'vuex';
export default {
name: 'Artefact',
components: {
Menu
},
computed: mapState([ 'Title' ]),
watch: {
Title(value) { document.title = value; }
}, created() {
document.title = this.Title;
}
}
// Store
import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex)
export default new Vuex.Store({
state: {
Title: 'SSS+'
}
})