File tree Expand file tree Collapse file tree 7 files changed +61
-120
lines changed Expand file tree Collapse file tree 7 files changed +61
-120
lines changed Original file line number Diff line number Diff line change 1
- import type { NuxtApp } from '#app' ;
2
-
3
1
type Dog = {
4
2
breed : string ;
5
3
name : string ;
@@ -27,8 +25,6 @@ export const useDog = async () => {
27
25
} ) ;
28
26
29
27
return {
30
- data : {
31
- dog,
32
- } ,
28
+ dog,
33
29
} ;
34
30
} ;
Original file line number Diff line number Diff line change 1
- import NuxtJsonld from 'nuxt-jsonld' ;
2
-
3
1
export default defineNuxtConfig ( {
4
- modules : [ NuxtJsonld ] ,
2
+ modules : [ 'nuxt-jsonld' ] ,
5
3
css : [ '@/css/index.css' ] ,
6
- devtools : true ,
4
+ compatibilityDate : '2024-12-11' ,
7
5
} ) ;
Original file line number Diff line number Diff line change 1
1
<template >
2
2
<div >
3
3
<h1 >Composable Options</h1 >
4
+ <nuxt-link to =" /" > Back to list </nuxt-link >
4
5
</div >
5
6
</template >
6
7
7
- <script lang="ts">
8
- export default defineComponent ({
9
- setup() {
10
- useJsonld (
11
- () => {
12
- return {
13
- ' @context' : ' https://schema.org' ,
14
- ' @type' : ' WebSite' ,
15
- name: ' nuxt-jsonld composable options' ,
16
- };
17
- },
18
- {
19
- tagPosition: ' bodyClose' ,
20
- }
21
- );
8
+ <script lang="ts" setup>
9
+ useJsonld (
10
+ () => {
11
+ return {
12
+ ' @context' : ' https://schema.org' ,
13
+ ' @type' : ' WebSite' ,
14
+ name: ' nuxt-jsonld composable options' ,
15
+ };
22
16
},
23
- });
17
+ {
18
+ tagPosition: ' bodyClose' ,
19
+ }
20
+ );
24
21
</script >
Original file line number Diff line number Diff line change 2
2
<div >
3
3
<h1 >Context example</h1 >
4
4
<div >
5
- <pre >{{ JSON.stringify(data. dog, null, 4) }}</pre >
5
+ <pre >{{ JSON.stringify(dog, null, 4) }}</pre >
6
6
<nuxt-link to =" /" > Back to list </nuxt-link >
7
7
</div >
8
8
</div >
9
9
</template >
10
10
11
11
<script lang="ts" setup>
12
12
import { useDog } from ' @/composables/dog' ;
13
- const { data } = await useDog ();
13
+ const { dog } = await useDog ();
14
14
</script >
15
15
16
16
<style scoped>
Original file line number Diff line number Diff line change 8
8
{{ p.name }}
9
9
</nuxt-link >
10
10
</li >
11
- <li ><nuxt-link :to =" { name: 'static' }" >Static JSON</nuxt-link ></li >
12
11
<li ><nuxt-link :to =" { name: 'option' }" >Options API</nuxt-link ></li >
13
12
<li ><nuxt-link :to =" { name: 'composable-options' }" >Composable API Options</nuxt-link ></li >
14
13
<li ><nuxt-link :to =" { name: 'context' }" >Context</nuxt-link ></li >
15
14
</ul >
16
15
</div >
17
16
</template >
18
17
19
- <script lang="ts">
20
- import type { WithContext , ItemList } from ' schema-dts' ;
18
+ <script lang="ts" setup>
19
+ useHead ({
20
+ title: ' Product List' ,
21
+ });
21
22
22
- export default defineComponent ({
23
- setup() {
24
- useHead ({
25
- title: ' Product List ' ,
26
- }) ;
23
+ const products = [
24
+ { name: ' Foo ' , id: 1 },
25
+ { name: ' Bar ' , id: 2 },
26
+ { name: ' Baz ' , id: 3 } ,
27
+ ] ;
27
28
28
- return {
29
- products: [
30
- { name: ' Foo' , id: 1 },
31
- { name: ' Bar' , id: 2 },
32
- { name: ' Baz' , id: 3 },
33
- ],
34
- };
35
- },
36
- jsonld(): WithContext <ItemList > {
37
- return {
38
- ' @context' : ' https://schema.org' ,
39
- ' @type' : ' ItemList' ,
40
- itemListElement: this .products .map ((p ) => ({
41
- ' @type' : ' ListItem' ,
42
- position: p .id ,
43
- item: {
44
- ' @type' : ' Product' ,
45
- name: p .name ,
46
- },
47
- })),
48
- };
49
- },
29
+ useJsonld ({
30
+ ' @context' : ' https://schema.org' ,
31
+ ' @type' : ' ItemList' ,
32
+ itemListElement: products .map ((p ) => ({
33
+ ' @type' : ' ListItem' ,
34
+ position: p .id ,
35
+ item: {
36
+ ' @type' : ' Product' ,
37
+ name: p .name ,
38
+ },
39
+ })),
50
40
});
51
41
</script >
Original file line number Diff line number Diff line change 10
10
</div >
11
11
</template >
12
12
13
- <script lang="ts">
14
- export default defineComponent ({
15
- setup() {
16
- const { params } = useRoute ();
17
- const count = ref <number >(0 );
18
- const updateCount = () => {
19
- count .value ++ ;
20
- };
21
- const product = reactive ({
22
- name: params .id ,
23
- description: ` This is a sample ${params .id } product. ` ,
24
- count ,
25
- });
26
-
27
- useHead ({
28
- title: ` Product: ${product .name } ` ,
29
- });
13
+ <script lang="ts" setup>
14
+ const { params } = useRoute ();
15
+ const count = ref <number >(0 );
16
+ const updateCount = () => {
17
+ count .value ++ ;
18
+ };
19
+ const product = reactive ({
20
+ name: params .id ,
21
+ description: ` This is a sample ${params .id } product. ` ,
22
+ count ,
23
+ });
30
24
31
- useJsonld (() => {
32
- if (! product .count ) {
33
- return null ;
34
- }
35
- return {
36
- ' @context' : ' https://schema.org' ,
37
- ' @type' : ' Product' ,
38
- ... product ,
39
- };
40
- });
25
+ useHead ({
26
+ title: ` Product: ${product .name } ` ,
27
+ });
41
28
42
- return {
43
- updateCount ,
44
- product ,
45
- };
46
- },
29
+ useJsonld (() => {
30
+ if (! product .count ) {
31
+ return null ;
32
+ }
33
+ return {
34
+ ' @context' : ' https://schema.org' ,
35
+ ' @type' : ' Product' ,
36
+ ... product ,
37
+ };
47
38
});
48
39
</script >
Load Diff This file was deleted.
You can’t perform that action at this time.
0 commit comments