> 웹 프론트엔드 > 프런트엔드 Q&A > vue에서 계산 속성을 설정하는 방법

vue에서 계산 속성을 설정하는 방법

PHPz
풀어 주다: 2023-03-31 14:06:06
원래의
2997명이 탐색했습니다.

Vue에서 계산은 속성을 계산하여 몇 가지 새로운 속성 값을 파생할 수 있는 매우 강력한 기능입니다. 대부분의 경우 계산된 속성은 값을 수정하는 대신 일부 값을 계산하는 데 사용됩니다. 그러나 일부 특별한 경우에는 계산된 속성을 새 값으로 설정해야 할 수도 있습니다. 그렇다면 Vue에서는 계산된 속성을 어떻게 설정할 수 있나요? 다음으로, 이 기사에서는 이에 대해 하나씩 답변해 드리겠습니다.

1. 계산 속성의 기본 사용법

먼저 계산 속성의 기본 사용법을 살펴보겠습니다. 계산된 속성은 실제로 get 및 set 메소드가 있는 속성입니다. 그 중 get 메소드는 속성값을 계산하는데 사용되고, set 메소드는 속성값을 설정하는데 사용된다. 예는 다음과 같습니다.

computed: {
  fullName: {
    get: function() {
      return this.firstName + ' ' + this.lastName;
    },
    set: function(newValue) {
      var names = newValue.split(' ');
      this.firstName = names[0];
      this.lastName = names[names.length - 1];
    }
  }
}
로그인 후 복사

위 코드에서는 값이 firstName과 lastName의 조합인 계산 속성 fullName을 정의합니다. get 메소드에서는 firstName과 lastName을 연결하여 fullName의 값을 계산합니다. set 메소드에서는 새로운 fullName 값을 firstName과 lastName으로 분할한 다음 해당 값을 동시에 설정하여 원래 속성 값을 수정합니다.

2. 계산된 속성의 설정 방법에 대한 주의 사항

계산된 속성의 설정 방법이 유용해 보이지만 주의할 점도 있습니다. 더 중요한 점은 다음과 같습니다.

  1. 계산된 속성은 기본적으로 읽기 전용이므로 속성 설정 시 설정한 값이 다른 곳에 영향을 미치지 않도록 해야 합니다.
  2. 계산된 속성 자체는 값을 저장하지 않기 때문에 속성을 설정할 때 다음에 얻을 때 설정된 값이 올바른지 확인해야 합니다.

3. 실제 적용 예

아래에서는 실제 적용 예를 사용하여 계산된 속성을 설정하는 방법을 보여줍니다.

먼저 계산된 속성 totalPrice를 사용하여 구성요소를 정의합니다. 해당 값은 제품 가격에 제품 수량을 곱한 값입니다. 즉, totalPrice = 가격 * 수량입니다. 다음 코드를 사용하여 이 계산된 속성을 구현할 수 있습니다.

<template>
  <div>
    <p>单价:{{ price }}</p>
    <p>数量:<input v-model="quantity"></p>
    <p>总价:{{ totalPrice }}</p>
  </div>
</template>

<script>
  export default {
    data() {
      return {
        price: 10,
        quantity: 2
      }
    },
    computed: {
      totalPrice: {
        get() {
          return this.price * this.quantity
        },
        set(newValue) {
          this.quantity = newValue / this.price
        }
      }
    }
  }
</script>
로그인 후 복사

위 코드에서는 먼저 계산된 totalPrice 속성이 포함된 구성 요소를 정의합니다. get 메소드에서는 가격과 수량을 사용하여 총 값을 계산하고, set 메소드에서는 newValue와 가격을 사용하여 새 수량 값을 계산한 다음 데이터를 업데이트하여 DOM을 업데이트합니다.

이제 수량이나 가격이 아닌 총 가격을 설정하려면 다음과 같이 하면 됩니다.

this.totalPrice = 20;
로그인 후 복사

이렇게 하면 총 가격이 20이 되도록 수량 값이 자동으로 수정됩니다. 단가에 수량을 곱한 값이 총 가격과 같도록 하려면 총 가격이 설정될 때 자동으로 수량을 할당하는 대신 다음과 같이 set 메소드의 논리를 수정할 수 있습니다.

set(newValue) {
  this.price = newValue / this.quantity
}
로그인 후 복사

이런 방식으로 총 가격 설정 단가 값이 수정되었습니다.

일반적으로 계산된 속성은 실제로 매우 강력한 기능이지만 주의해야 할 사항이 많습니다. 실제 사용에서는 불필요한 문제를 피하기 위해 상황에 따라 계산된 속성의 설정 방법을 신중하게 사용해야 합니다.

위 내용은 vue에서 계산 속성을 설정하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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