vue 계산에 캐시가 있는 이유는 무엇입니까?

WBOY
풀어 주다: 2023-05-08 09:30:10
원래의
1704명이 탐색했습니다.

Vue에서는 Vue에서 제공하는 편리한 계산 속성 방법인 계산 속성(computed)을 자주 사용합니다. 계산을 사용하면 템플릿에 많은 논리적 판단을 작성하지 않고도 데이터 변경에 따라 새 값을 동적으로 쉽게 계산할 수 있습니다.

그러나 메서드나 감시자와 달리 계산에는 캐싱 메커니즘이 있습니다. 즉, 계산된 속성이 의존하는 데이터가 변경되지 않은 경우 값이 다시 계산되지 않으므로 계산 효율성이 향상됩니다.

이제 왜 Computed에 캐싱 메커니즘이 있는지 논의해 보겠습니다.

먼저 예를 살펴보겠습니다.

<template>
  <div>{{ message }}</div>
  <button @click="updateData">Update data</button>
</template>

<script>
export default {
  data() {
    return {
      firstName: 'John',
      lastName: 'Doe',
    }
  },
  computed: {
    message() {
      console.log('computed');
      return `${this.firstName} ${this.lastName}`;
    },
  },
  methods: {
    updateData() {
      this.firstName = 'Tom';
    },
  },
};
</script>
로그인 후 복사

페이지를 처음 렌더링할 때 계산은 새로운 값으로 계산되며 console.log('computed')也只会在这个时候执行一次。接着,我们点击button,firstName被修改为'Tom',此时我们会发现,页面上的message并没有被重新计算,console.log('computed')는 실행되지 않습니다.

간단히 말해서 이는 Computed가 캐싱 메커니즘을 사용하기 때문입니다. 계산된 데이터가 변경되지 않은 경우 Vue는 재작업 없이 캐시에서 계산 결과를 직접 검색합니다. 따라서 여기서는 firstName 업데이트 변경을 트리거합니다. 데이터가 수정되었지만 계산된 캐싱 메커니즘으로 인해 메시지가 다시 계산되지 않았습니다.

이 캐싱 메커니즘을 사용하면 컴퓨팅 효율성을 향상시킬 수 있을 뿐만 아니라 불필요한 계산을 방지하여 시스템 리소스 점유를 줄이고 시스템 성능을 향상시킬 수 있습니다.

그러나 일부 특정 시나리오에서는 계산된 캐싱 메커니즘으로 인해 종속 데이터가 비어 있을 때 캐시된 값을 반환하는 등의 문제가 발생할 수 있습니다. 이를 위해서는 계산 결과의 정확성을 보장하기 위해 계산을 사용할 때 데이터 변경에 주의를 기울여야 합니다.

간단히 말하면 계산된 캐싱 메커니즘은 개인 개발 및 프로젝트에 매우 유용한 기능 중 하나입니다. 이를 통해 데이터 계산을 보다 편리하게 수행할 수 있으며 동시에 시스템 성능도 향상됩니다.

위 내용은 vue 계산에 캐시가 있는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!