Maison > Questions et réponses > le corps du texte
À l'aide de l'API de composition Vue 3, comment renvoyer des propriétés firstDigit
的计算值?计算属性中的关键字 this
是 undefined
但是当我将 this
排除在外时,我收到错误 fourDigits is not Defined
.
<script setup> import { computed, reactive } from 'vue' const input = reactive({ fourDigits: Array(1,2,3,4), firstDigit: computed(() => { return this.fourDigits[0] <===== `this` is undefined but if I leave `this` out, then `fourDigits` is undefined. }) </script> <template> <div> <pre> {{JSON.stringify(input.firstDigit, null, 2)}} </pre> </div> </template>
P粉5579579702023-11-01 14:49:47
Si je dois utiliser une propriété d'état pour attribuer une valeur à une autre propriété d'état, je peux le faire dans le hook onMounted(). Comme ça :
<script setup> import { computed, reactive } from 'vue' const input = reactive({ fourDigits: Array(1, 2, 3, 4), firstDigit: computed(() => { return 0; // just some default value }) }); onMounted(() => { input.firstDigit = input.fourDigits[0]; }) </script> <template> <div> <pre> {{ JSON.stringify(input.firstDigit, null, 2) }} </pre> </div> </template>
Vérifiez si cela fonctionne pour vous. je souhaite tout le meilleur!
P粉6114563092023-11-01 14:49:14
this
est autre chose dans l'API de composition, essayez d'utiliser :
firstDigit: computed(() => { return input.fourDigits[0] })