티스토리 뷰
728x90
App 컴포넌트 변경
App.vue 컴포넌트를 변경하여 백엔드 API와의 통신을 수행하도록 업데이트함. 이때, axios와 같은 라이브러리를 통해 API와 통신하며, 상태 관리 라이브러리를 사용하여 API 응답을 관리함.
- Axios 설정: 백엔드 API와 통신하기 위해 Axios를 설정.
- 예시: src/services/api.js 파일에 API 요청 설정을 분리.
// src/services/api.js
import axios from 'axios';
const apiClient = axios.create({
baseURL: '/api', // 프록시 설정된 기본 경로
headers: {
'Content-Type': 'application/json'
}
});
export default apiClient;
2. App 컴포넌트에서 데이터 불러오기: App.vue 컴포넌트에서 onMounted를 사용해 초기 데이터를 백엔드에서 불러옴.
<script setup>
import { ref, onMounted } from 'vue';
import apiClient from '@/services/api';
const todos = ref([]);
const fetchTodos = async () => {
try {
const response = await apiClient.get('/todos'); // 예제 API 엔드포인트
todos.value = response.data;
} catch (error) {
console.error('Failed to fetch todos:', error);
}
};
onMounted(fetchTodos);
</script>
<template>
<div>
<h1>Todo List</h1>
<ul>
<li v-for="todo in todos" :key="todo.id">{{ todo.text }}</li>
</ul>
</div>
</template>
App.vue 컴포넌트에서 데이터가 성공적으로 로드되면 템플릿에 데이터를 표시하고, fetchTodos 함수를 통해 API에서 할 일 목록을 받아와 화면에 렌더링함.
728x90
'Web Development > vue' 카테고리의 다른 글
| pinia (0) | 2024.10.28 |
|---|---|
| 3단계 지연 시간에 대한 스피너 UI 구현 (0) | 2024.10.27 |
| 애플리케이션 아키텍처와 프로젝트 생성 (0) | 2024.10.26 |
| 테스트용 백엔드 API 소개 (0) | 2024.10.24 |
| Axios (0) | 2024.10.24 |
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 이벤트에미터
- 자연어처리
- dl
- 데이터옵션
- 로짓함수
- AI
- 컴포넌트간통신
- 콜백callback
- PROMISE
- 리액트 폴더구조
- transformer
- ML
- defaultparameter
- 컴포넌트간데이터전달
- 사용자정의이벤트
- 사전학습모델
- async
- 인스턴스 옵션
- 이벤트유효성
- KoELECTRA
- 프론트엔드
- gradientclipping
- Await
- 코랩 워드클라우드
- 코랩 한글깨짐
- 인스턴스 구조
- 인스턴스 생명주기
- 리액트
- NLP
- 코랩 워드클라우드 한글깨짐
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
글 보관함