Ik loop al een dag vast op wat in mijn ogen niet zo moeilijk moet zijn. Maar elke resource die ik probeer te benaderen legt het maar uit tot een bepaalde hoogte.
Simpel gezegd wil ik data op halen in een parent component en die in een soort 'state' opslaan zodat ik deze in het parent en child componenten kan gebruiken.
Voorheen was Vuex hiervoor... nu nog steeds, maar blijkbaar is het delen van dit soort reactive data eenvoudiger via de Composition API (zo ik heb horen zeggen). Echter loop ik dus vast in de logica.
Parent component
usePromise.js
Simpel gezegd wil ik data op halen in een parent component en die in een soort 'state' opslaan zodat ik deze in het parent en child componenten kan gebruiken.
Voorheen was Vuex hiervoor... nu nog steeds, maar blijkbaar is het delen van dit soort reactive data eenvoudiger via de Composition API (zo ik heb horen zeggen). Echter loop ik dus vast in de logica.
Parent component
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
| import { reactive, toRefs, onBeforeMount } from 'vue' import usePromise from '../composable/usePromise'; export default { props: ['id'], setup() { const getData = reactive(usePromise()); onBeforeMount(() => { getData.createPromise("api/endpoint") }) return { ellipse, getData } }, computed: { currentResume() { return this.getData.results.value.find((item) => { return item.item_id === this.id }); }, } } |
usePromise.js
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
| import { ref } from "vue" import axios from 'axios' export default function usePromise() { const loading = ref(false); const results = ref(null); const error = ref(null); const createPromise = async (...args) => { loading.value = true; error.value = null; results.value = null; try { results.value = await axios.get(...args, { headers: {'X-AUTH': localStorage.getItem('user-auth-key') }}); } catch (err) { error.value = err; } finally { loading.value = false } }; return { loading, results, error, createPromise } } |
- Hoe kan ik het beste het resultaat van getData gebruiken in zowel de Parent als een Child component
- Hoe kan ik het beste de computed property toepassen in het geval van deze Async call. (het liefste heb ik deze namelijk in de setup()
- Creating more joy for people who interact with our digital world