Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

282
Visualizações
Nuxt3/Pinia: las propiedades calculadas no se actualizan

Tengo un componente en el que los valores se actualizan a partir de propiedades calculadas. He agregado un complemento nuxtServerInit para realizar una llamada de búsqueda en la creación de la aplicación nuxt y actualizar los valores. Pero de alguna manera, la promesa de búsqueda se resuelve después de que se ejecutan las propiedades calculadas y los valores de la tienda en este momento siempre están vacíos. ¿Cómo puedo asegurarme de que mis propiedades calculadas se actualicen solo después de que se resuelva la promesa? A continuación se muestran los archivos creados:

componente.vue

 <template> <select> <div v-for="(data, index) in dataList" :key="index"> <option :value="data.value">{{ data.label }}</option> </div> </select> </template> <script> import { allDataStore } from '@/store/allDataStore.js' export default { setup(){ const reqData = allDataStore() return { reqData } }, computed: { dataList() { console.log('inside computed dataList') return this.reqData }, } } </script>

nuxtServerInit.js

 import { allDataStore } from '@/store/allDataStore.js' export default defineNuxtPlugin((nuxtApp) => { nuxtApp.hook('app:created', async () => { console.log('inside nuxtApp hook') const dataFetch = allDataStore() await dataFetch.fetchAllData() }) })

allDataStore.js

 import { defineStore } from 'pinia' export const masterDataStore = defineStore('masterDataStore', { state: () => ({ allData: {} }), getters: { getReqData: state => state.allData, }, actions: { fetchAllData (){ console.log('inside fetchAllData call') const newData = $fetch('url').then(res) => { console.log('data received') return res[0] } } } }

Actualmente, el código se ejecuta en el siguiente orden: 'dentro del gancho de nuxtApp' -> 'dentro de la llamada fetchAllData' -> 'dentro de la lista de datos calculada' -> console.log('datos recibidos')

Pero se necesita el siguiente orden: 'dentro del gancho nuxtApp' -> 'dentro de la llamada fetchAllData' -> console.log('datos recibidos') -> 'dentro de la lista de datos computados'

about 4 years ago · Santiago Trujillo
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda