2
0
mirror of https://github.com/tenrok/vue-meta.git synced 2026-06-15 18:12:26 +03:00
Files
vue-meta/examples/vue-router/Child.js
T
pimlie 3e1a0da9e4 feat: add support for computed metadata
feat: show active metadata and add some styling

chore: code cleanup
2021-02-28 22:58:18 +01:00

46 lines
1.0 KiB
JavaScript

import { defineComponent, reactive, computed, toRefs, onUnmounted } from 'vue'
import { useRoute } from 'vue-router'
import { useMeta } from 'vue-meta'
let metaUpdated = 'no'
export default defineComponent({
name: 'ChildComponent',
setup () {
const route = useRoute()
const state = reactive({
date: null,
metaUpdated
})
const metaConfig = computed(() => ({
charset: 'utf16',
title: route.name[0].toUpperCase() + route.name.slice(1),
description: 'Description ' + route.name,
og: {
title: 'Og Title ' + route.name
}
}))
const { onRemoved } = useMeta(metaConfig)
const pageName = computed(() => route.name)
onUnmounted(() => (metaUpdated = 'yes'))
onRemoved(() => {
console.log('Meta was removed', pageName.value)
})
return {
...toRefs(state),
pageName
}
},
template: `<div>
<h3>You're looking at the <strong>{{ pageName }}</strong> page</h3>
<p>Has metaInfo been updated due to navigation? {{ metaUpdated }}</p>
</div>`
})