2017-12-05 1 views
1

Vue.js를 사용할 때 언제 메서드 또는 계산 된 속성 설정기를 사용해야합니까? documentation 또는 수많은 기사에는 거의 구별이없는 것 같습니다. 보통 기사는 계산 된 속성 설정자를 각주보다 조금 더 많이 나타냅니다.계산 된 속성 설정자를 통해 메서드를 사용하는 경우 및 그 반대의 경우?

두 가지 방법과 설정자가 매개 변수를 받아들이면 특정 이유가 있습니까? 내가 아는 한 방법은 필요한 모든 것입니다.

는 편집 : 링크 된 SO 대답은 한 번 단어 세터가 포함되어 있기 때문에

이 그대로 재 게시없는 경우에만 막연한 지나가는 :

계산 된 속성은 함께 뷰의 속성으로 변환됩니다 getter와 때로는 세터.

좋아요, 그럼 어떻게이 글의 주제에이 정교한는 는 방법 대 세터를 사용합니까?

+0

계산 된 속성과 메서드에 관한 질문이 있습니까? 그것은 이미 여러 번 적용 되었기 때문에 – samayo

+0

그들 중 누구도 내 제목에 대해 이야기하지 않습니다. – user9993

+0

좋아, 다시 열어 보겠습니다. 당신의 혼란은 세터가 실제로 무엇인지에 대한 오해에서 기인한다고 생각합니다. 그것은 단지 재산의 일부분입니다. setter는 매개 변수를 허용하지 않으며 단일 값을 허용합니다. 설정 한 계산 된 속성을 "호출"하지 않습니다. 'this.myComputed = "some value"는 정의 된 setter를 통해 값을 차례로 보냅니다. 대부분의 토론은 다른 언어의 속성 대 메소드 (여러 SO 토론에서 C#)와 마찬가지로 적용됩니다. Vue에서는'v-model' 표현식에서 계산 된 속성을 사용할 때만 일반적으로 setter를 사용합니다. – Bert

답변

0

계산 된 속성은 기존 데이터를 기준으로 데이터를 표시하는 데 사용해야합니다. 방법은 행동을 취하거나 데이터를 변경하는 데 사용해야합니다.

1

계산 된 속성은 성능면에서 이점을 얻을 수 있도록 캐싱됩니다. 그들은 인수를 받아들이지 않기 때문에 메서드처럼 작동하지 않습니다.

주로 기존 데이터를 수정하거나 중첩 된 데이터에 쉽게 액세스 할 수 있도록 사용합니다.

캐싱에 관한 부분은 결국 번거 로움이 될 수 있습니다. 직접적인 종속성이 변경되지 않는 한 항상 캐시됩니다. 컨트롤 블록 내에있는 계산 된 속성 내의 속성은 일반적으로 계산 된 속성을 업데이트하지 않습니다 (직접 종속성으로 보지 않음).

알고 있어야 할 사항입니다.

v-for과 같은 것을 사용하면 메서드와 달리 계산 된 속성의 캐싱 기능을 활용하기를 원할 것입니다. 직접적인 의존성 계산 된 속성 변경의

관련 문제