인프런 커뮤니티 질문&답변

이영훈님의 프로필 이미지
이영훈

작성한 질문수

[최신] Vue 강의 끝판왕 : Nuxt 3 완벽 마스터

NuxtPage 내장 컴포넌트

definePageMeta 리랜더링이 안됩니다..

작성

·

123

0

<template>
  <div class="q-pa-xl">
    <AppCard>
      <template #header>
        <div class="text-h5 text-weight-medium">{{ course?.title }}</div>
        <div class="flex q-gutter-x-sm items-center q-mt-sm text-grey-8">
          <span class="flex items-center">
            <q-icon name="star" size="16px" color="orange" />
            <span>{{ course?.rating }}</span>
          </span>
          <span>{{ course?.reviewsCount }}</span>
          <span>&middot;</span>
          <span>{{ course?.studentCount }}</span>
          <q-space />
          <a class="text-bold" :href="course?.reviewsUrl" target="_blank">
            수강평 보기
          </a>
        </div>
      </template>
      <div class="q-mb-md">
        <VideoPlayer :src="course?.video" />
      </div>
      <div class="row q-col-gutter-md">
        <div class="col-6">
          <q-btn
            label="인프런에서 수강하기"
            unelevated
            class="full-width"
            color="primary"
            :href="course?.inflearnUrl"
            target="_blank"
          />
        </div>
        <div class="col-6">
          <q-btn
            label="짐코딩 클럽에서 수강하기"
            unelevated
            class="full-width"
            color="red"
            :href="course?.gymcodingUrl"
            target="_blank"
          />
        </div>
      </div>
      <p class="q-mt-lg text-grey-8">
        {{ course?.content }}
      </p>
      <template #footer>
        <q-btn
          v-if="prevCourse"
          label="이전 강의"
          color="primary"
          unelevated
          :to="prevCourse.path"
        />
        <q-space />
        <q-btn
          v-if="prevCourse"
          label="쿼리추가"
          color="primary"
          unelevated
          :to="{ path: $route.path, query: { timestamp: Date.now() } }"
        />
        <q-space />
        <q-btn
          v-if="nextCourse"
          label="다음 강의"
          color="primary"
          unelevated
          :to="nextCourse.path"
        />
      </template>
    </AppCard>
  </div>
</template>

<script setup lang="ts">
const route = useRoute();
const courseSlug = route.params.courseSlug as string;
const { course, prevCourse, nextCourse } = useCourse(courseSlug);
console.log('re');
definePageMeta({
  key: (route) => route.fullPath,
});
</script>

<style scoped></style>

 

 

<template>
  <NuxtLayout>
    <NuxtPage />
    <!-- <RouterView /> -->
    <!--layouts>default.vue의 slot부분-->
  </NuxtLayout>
</template>
<script setup lang="ts"></script>

 

해당 코드처럼 넣은후 쿼리파라미터를 넣어도 리랜더링이 안되네요.. ㅠ

 

답변 1

0

짐코딩님의 프로필 이미지
짐코딩
지식공유자

안녕하세요 🥹

  1. VSCode 를 재시작 해보시겠어요?

  2. 강의 소스와 동일한지 확인해 보시겠어요?

  3. 두 가지를 체크했는데 안될 경우 github 주소를 알려주실 수 있을까요?

이영훈님의 프로필 이미지
이영훈

작성한 질문수

질문하기