forked from vueuse/head
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.tsx
96 lines (90 loc) · 1.69 KB
/
main.tsx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
import { createApp, ref, h, defineComponent, computed } from 'vue'
import {
createRouter,
createWebHistory,
RouterLink,
RouterView,
} from 'vue-router'
import { createHead, useHead } from '../src'
const Home = defineComponent({
setup() {
const count = ref(0)
useHead({
title: computed(() => `count: ${count.value}`),
base: { href: '/' },
style: [{ children: `body {background: red}` }],
htmlAttrs: {
lang: 'en',
},
meta: [
{
name: 'description',
content: 'desc',
},
{
name: 'description',
content: 'desc 2',
},
{
property: 'og:locale:alternate',
content: 'fr',
key: 'fr',
},
{
property: 'og:locale:alternate',
content: 'zh',
key: 'zh',
},
],
})
return () => (
<div>
<h1>Home</h1>
<RouterLink to="/about">About</RouterLink>
<hr />
<button
onClick={() => {
count.value++
}}
>
{count.value}
</button>
</div>
)
},
})
const About = defineComponent({
setup() {
useHead(() => ({
title: 'About',
}))
return () => (
<div>
<h1>About</h1>
<RouterLink to="/">Home</RouterLink>
</div>
)
},
})
const router = createRouter({
history: createWebHistory(),
routes: [
{
path: '/',
component: Home,
},
{
path: '/about',
component: About,
},
],
})
const app = createApp({
setup() {
return () => <RouterView />
},
})
const head = createHead()
app.use(head)
app.use(router)
app.mount('#app')