[Vue] computed에서 파라미터 사용하기

wonyu·2022년 2월 7일
0

결론부터 이야기하자면 가능은 하지만 추천하지 않는 방식이라고 한다.


만약 정말 사용해야겠다면 아래와 같이 익명 함수를 리턴하는 방식으로 사용할 수 있다.
computed: {
	fullName() {
      return (lastName) => `Her name is ${this.lastName}.`;
   }
}

나는 dayjs를 사용하는 과정에서 한 컴포넌트 안에서 여러 개의 변환된 날짜값이 필요했기 때문에 인자를 넘겨주려고 했다. 또한 fromNow() 메서드를 이용해서 현재 시간과의 차이를 실시간으로 바꿔서 보여주기 위해 computed 속성을 사용하려고 했다.

그런데 찾아보니 mutating data가 아니라면, 파라미터를 사용하고자 하는 상황이라면 보통은 computed로 얻을 수 있는 이익이 없다고 한다. 공식문서에도 나와있듯이 Date.now()처럼 아무 곳에도 의존하지 않는 computed 속성의 경우 절대로 업데이트되지 않는다고..^^

생각해보니 내가 사용하고자 했던 created_at 값은 변하지 않는 데이터고 Date.now()처럼 현재 시간을 사용하기 때문에 메서드로 작성해도 되겠다는 결론을 내렸다.


0개의 댓글