rob*_*rob 4 vue.js vue-composition-api
我有一个 Vue 2 应用程序,它使用合成 API 包,以便我可以使用合成 API 创建 vue 组件。
如何通过 Vue 组合 API 创建和使用计算属性的 setter?
我正在查看文档,但没有看到任何为计算属性创建设置器的文档。在测试套件中,我看到一个示例:
const b = computed({
get: () => a.value + 1,
set: (v) => (a.value = v - 1),
})
Run Code Online (Sandbox Code Playgroud)
但是我不太确定如何访问set上的方法b。有谁知道如何使用组合 API 的 set 方法创建计算属性?如何使用 set 方法来更改计算属性的值?
在 vue3 组件中,您可以像这样使用它:
<template>
<p>a={{ a }} b={{ b }}</p>
<button @click="b = 3">Click me</button>
</template>
<script setup>
import {computed, ref} from 'vue';
const a = ref(1);
const b = computed({
get: () => a.value + 1,
set: (v) => (a.value = v - 1),
})
</script>
Run Code Online (Sandbox Code Playgroud)
b单击按钮时调用setter (赋值b = 3)
另一种方法是在标签内使用computed部分<script>(选项 api,不带<script setup>部分):
<template>
<p>a={{a}} b={{b}}</p>
<button @click="b = 3">Click me 1</button>
</template>
<script>
export default {
name: "Test",
data(){
return {
a: 1
}
},
computed: {
b:{
get(){return this.a + 1;},
set(v){this.a = v - 1;}
}
}
}
</script>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12024 次 |
| 最近记录: |