[ VueJS 프로그래밍 ] 함수 메서드를 사용해 컴포넌트 출력하기 - Whitmem
[ VueJS 프로그래밍 ] 함수 메서드를 사용해 컴포넌트 출력하기
VueJS 개발
2025-06-10 22:45 게시 6be61a4bf77781fce1ab

0
0
21
이 페이지는 외부 공간에 무단 복제할 수 없으며 오직 있는 그대로 게시되며 부정확한 내용을 포함할 수 있습니다. 법률이 허용하는 한 가이드 라인에 맞춰 게시 내용을 인용하거나 출처로 표기할 수 있습니다.
This page is not to be distributed to external services; it is provided as is and may contain inaccuracies.
VueJS 에서 어떤 레퍼런스 변수 값을 가져와 화면에 렌더링하기 위해 {{ }} 첨자를 사용해 데이터를 가져올 수 있다.
<template> <button type="button" @click="count++">count is {{ count }} </button> </template>
이는 count 의 변경 사항이 발생했을 때 추적하여 화면에 반영해준다. 이 때 렌더링되는 수식이 조금 복잡해지면 {{ }} 수식 내에 넣기 부담스러울 수 있다.
<template> <button type="button" @click="count++">count is {{ (count + "개가 반영 : " )+ (count>=5 ? "0개 이상" : "0개 이하")}} </button> </template>
위와 같이 수식이 복잡해지는 경우 함수 형태로 정리할 필요가 생기는데, 스크립트 영역에 getter 와 같은 함수를 만들어 호출하는 식으로 구현할 수도 있다.
const getCountMessage = () => { let message = count + "개가 반영, "; message += count>=5 ? "0개 이상" : "0개 이하"; return message; };
위와 같이 getCountMessage 라는 호출 가능한 함수를 사용해서 get 가능한 형태로 만들어준다.
<template> <button type="button" @click="count++">count is {{ getCountMessage() }} </button> </template>
그리고 template 내에서 필요한 부분에 getCountMessage()를 호출하는 식으로 컴포넌트를 렌더링할 수 있다. {{ getCountMessage() }}
다만 위와 같이 호출하는 경우 count 는 단순 변수가 아닌, ref 객체를 참조하고 있는 형태이다보니 .value 접근자로 값을 가져와야 한다.
value 로 접근하여 가져오면 제대로 값이 가져와지는것을 확인할 수 있다.
한편 VueJS 에서는 computed 라는 기능을 제공하는데, 어떤 렌더링되는 데이터를 캐시하였다가 변경 사항이 있을 때만 다시 반영하는 식으로 렌더링을 제공한다. 사용법은 그렇게 어렵지 않은 것이, computed 를 호출하면서 안에 사용할 getter 함수를 넣어주면 된다. 그리고 getComputed 를 렌더링 위치에 변수처럼 가져다 사용하면 된다.
const getComputed = computed(()=>{ let message = count.value + "개가 반영"; return message; });
<template> <button type="button" @click="count++">count is {{ getComputed }} </button> </template>
역시 잘 동작하는 것을 확인할 수 있다. 다만 위 값들은 읽기 전용 값으로 화면에 렌더링하는 형식대로 사용해야 한다고 한다.
추가로 첨부하자면, VueJS org 사이트에 의하면 위 getter 내에는 화면을 조작하는 행위, 파일 다운, 로드와 같은 비동기 행위를 하지말라고 한다. 단순히 화면 매개 변수 표시 또는 파싱을 위한 작업만 해야할 것으로 보인다. https://ko.vuejs.org/guide/essentials/computed
댓글 0개
댓글을 작성하는 경우 댓글 처리 방침에 동의하는 것으로 간주됩니다. 댓글을 작성하면 일회용 인증키가 발급되며, 해당 키를 분실하는 경우 댓글을 제거할 수 없습니다. 댓글을 작성하면 사용자 IP가 영구적으로 기록 및 부분 공개됩니다.
확인
Whitmemit 개인 일지 블로그는 개인이 운영하는 정보 공유 공간으로 사용자의 민감한 개인 정보를 직접 요구하거나 요청하지 않습니다. 기본적인 사이트 방문시 처리되는 처리 정보에 대해서는 '사이트 처리 방침'을 참고하십시오. 추가적인 기능의 제공을 위하여 쿠키 정보를 사용하고 있습니다. Whitmemit 에서 처리하는 정보는 식별 용도로 사용되며 기타 글꼴 및 폰트 라이브러리에서 쿠키 정보를 사용할 수 있습니다.
이 자료는 모두 필수 자료로 간주되며, 사이트 이용을 하거나, 탐색하는 경우 동의로 간주합니다.