vue中计算属性的get和set的区别是什么呢
时间: 2024-03-07 19:50:20 浏览: 95
在Vue中,计算属性除了可以定义一个get方法用于获取属性值之外,还可以定义一个set方法用于设置属性值。get方法和set方法分别对应着计算属性的读取和设置操作。
当我们在模板中使用计算属性时,实际上是在获取计算属性的值,即调用计算属性的get方法。而当我们在程序中给计算属性赋值时,实际上是在调用计算属性的set方法。
下面是一个使用get和set方法的计算属性的示例:
```
<template>
<div>
<p>原始价格:{{ price }}</p>
<p>打折后价格:{{ discountedPrice }}</p>
<input v-model="discountRate" />
</div>
</template>
<script>
export default {
data() {
return {
price: 100,
discountRate: 0.8
}
},
computed: {
discountedPrice: {
get() {
return this.price * this.discountRate
},
set(value) {
this.discountRate = value / this.price
}
}
}
}
</script>
```
在上面的例子中,我们定义了一个计算属性discountedPrice,并为它同时定义了一个get方法和一个set方法。get方法用于获取折扣后的价格,而set方法则用于设置折扣比例。当我们在模板中修改折扣比例时,实际上是调用了计算属性的set方法,从而改变了折扣比例,并重新计算了折扣后的价格。
阅读全文