Skip to content

Commit 233aff4

Browse files
committed
feat: add back button
1 parent 19b04a3 commit 233aff4

File tree

2 files changed

+22
-10
lines changed

2 files changed

+22
-10
lines changed

components/BackBtn.vue

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
<template>
2+
<button @click.prevent="back">Back</button>
3+
</template>
4+
<script setup lang="ts">
5+
const router = useRouter();
6+
async function back() {
7+
router.back();
8+
}
9+
</script>

pages/product/[slug].vue

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,17 @@
11
<template>
2-
<div>
3-
<div v-if="loading">loading......</div>
4-
<div v-else>
5-
{{ product?.name }}
6-
<NuxtImg :src="product?.image.sourceUrl" />
7-
</div>
8-
<button @click="useRouter().go(-1)">Back</button>
2+
<div v-if="loading">loading...</div>
3+
<div v-else>
4+
<NuxtImg :src="product.image.sourceUrl" />
95
</div>
6+
<BackBtn />
107
</template>
118

129
<script setup>
13-
import getProduct from '~/gql/queries/getProduct.gql';
10+
const route = useRoute();
11+
import { getProduct } from '~/gql/queries/getProduct.gql';
1412
15-
const { result: productResult, loading } = useQuery(getProduct, () => ({ slug: useRoute().params.slug }));
13+
const { result: productResult, loading } = useQuery(getProduct, () => ({ slug: route.params.slug }));
1614
const product = computed(() => productResult.value?.product);
17-
console.log(product.value?.name);
1815
1916
// useQuery
2017
//
@@ -40,4 +37,10 @@ console.log(product.value?.name);
4037
// prod.value = product.data.value.product.name;
4138
// console.log(product.data.value.product.name);
4239
// });
40+
41+
// useAsyncQuery 3
42+
// const route = useRoute();
43+
// import getProduct from '~/gql/queries/getProduct.gql';
44+
// const { data } = await useAsyncQuery(getProduct, { slug: route.params.slug });
45+
// const product = data?.value?.product;
4346
</script>

0 commit comments

Comments
 (0)