From 66760f73808cf7cdc48c2d98c4a27071b99da4ed Mon Sep 17 00:00:00 2001 From: Eduardo San Martin Morote Date: Mon, 4 Mar 2024 16:44:55 +0100 Subject: [PATCH] docs: improve getter return type --- packages/docs/core-concepts/getters.md | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/packages/docs/core-concepts/getters.md b/packages/docs/core-concepts/getters.md index 02ae81a5d6..ff36bd7677 100644 --- a/packages/docs/core-concepts/getters.md +++ b/packages/docs/core-concepts/getters.md @@ -55,9 +55,28 @@ const store = useCounterStore() ## Accessing other getters -As with computed properties, you can combine multiple getters. Access any other getter via `this`. Even if you are not using TypeScript, you can hint your IDE for types with the [JSDoc](https://jsdoc.app/tags-returns.html): +As with computed properties, you can combine multiple getters. Access any other getter via `this`. In this scenario, **you will need to specify a return type** for the getter. -```js +::: code-group + +```ts [counterStore.ts] +export const useCounterStore = defineStore('counter', { + state: () => ({ + count: 0, + }), + getters: { + doubleCount(state) { + return state.count * 2 + }, + doubleCountPlusOne(): number { + return this.doubleCount + 1 + }, + }, +}) +``` + +```js [counterStore.js] +// You can use [JSDoc](https://jsdoc.app/tags-returns.html) in JavaScript export const useCounterStore = defineStore('counter', { state: () => ({ count: 0, @@ -80,6 +99,8 @@ export const useCounterStore = defineStore('counter', { }) ``` +::: + ## Passing arguments to getters _Getters_ are just _computed_ properties behind the scenes, so it's not possible to pass any parameters to them. However, you can return a function from the _getter_ to accept any arguments: