Nuxt.js 데이터 가져오기 후크: 비동기 데이터.
4669 단어 vuejavascript
Nuxt.js에는 비동기 데이터 로드를 위한 두 가지 후크가 있습니다.
또한 Nuxt.js는 구성 요소의 mounted() 후크에서 데이터를 가져오는 것과 같이 클라이언트 측 앱에서 데이터를 로드하기 위한 기존 Vue 패턴을 지원합니다.
Nuxt.js에서 asyncData 후크의 몇 가지 중요한 기능:
다음은 @nuxt/axios 라이브러리를 사용하는 nuxt asyncData의 예입니다.
<template>
<div>
<h1>{{ post.title }}</h1>
<p>{{ post.description }}</p>
</div>
</template>
<script>
export default {
async asyncData({params, $axios }) {
const post = await $http.$get(`https://api.nuxtjs.dev/posts/${params.id}`)
return { post }
}
}
</script>
asyncData 후크는 약속을 반환하고 경로 전환 중에 해결되었습니다. 즉, 클라이언트 측 전환 중에는 "로딩 자리 표시자"가 표시되지 않지만 를 사용하여 사용자에게 로드 상태를 표시할 수 있습니다.
클라이언트 측 및 서버 측 모두에서 asyncData():
클라이언트 측과 서버 측 모두에서 asyncData()가 어떻게 작동하는지 테스트하려면 Nuxt.js 페이지에 다음 코드를 작성하세요.
<script>
export default{
asyncData(context){
console.log(context);
}
}
</script>
서버 측 테스트
이제 브라우저에서 페이지를 다시 로드하고 Nuxt.js 애플리케이션이 실행 중인 터미널 내부를 살펴보세요(브라우저 콘솔 패널 Nuxt SSR 응답에서도 확인할 수 있음). 아래 스크린샷과 같은 컨텍스트 개체를 볼 수 있습니다. 이는 서버 측에서 작동한다는 것을 의미합니다.
클라이언트 측 테스트
또한 다른 Nuxt.js 페이지에서 이 페이지를 방문했을 때 클라이언트 측 렌더링을 확인할 수도 있습니다(링크는 페이지 간 연결을 위해 NuxtLink를 사용해야 합니다). 이제 브라우저 개발 도구를 열고 콘솔 패널을 확인하면 asyncData()의 마법을 볼 수 있습니다.
컴포넌트에서 비동기 데이터를 사용하는 방법:
우리는 이미 구성 요소 내에서 anyncData 후크를 사용할 수 없다는 것을 알고 있지만 구성 요소에 대해 다른 방법을 사용할 수 있습니다.
페이지 구성 요소의 asyncData 메서드에서 API 호출을 만들고 데이터를 하위 구성 요소에 소품으로 전달합니다. 클라이언트 및 서버 측 렌더링이 모두 잘 작동합니다.
참조: Nuxt.js 공식 데이터 가져오기Hook
Reference
이 문제에 관하여(Nuxt.js 데이터 가져오기 후크: 비동기 데이터.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/aiarnob/nuxt-js-data-fetching-hook-async-data-o9p텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)