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

172
Visualizações
¿Cómo agregaría datos al presionar un botón en la raíz o en un componente de Vue 3?

Mi principal problema es que estoy tratando de agregar datos de forma reactiva a la raíz de Vue o a un componente de Vue. La razón por la que esto es un problema es porque una vez que se monta mi instancia de la aplicación Vue (usando app.mount()), no puedo agregar datos de forma reactiva a la aplicación Vue. Estoy tratando de usar Vue junto con Vanilla JS ya que soy un novato con el marco. Supongo que todo se reduce a... ¿hay algún evento que pueda desencadenar u objeto al que pueda llamar en Vanilla JS para insertar nuevos datos en, digamos, una matriz de objetos dentro de la instancia de la aplicación Vue?

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

La forma más fácil es instalar Vuex en su aplicación vue 3 e inyectar datos a través de la tienda vuex.

Aquí hay un proyecto vue3 simple y simple generado a partir de vue-cli con el comando vue create my-vue-prj

 { "name": "my-vue-prj", "version": "0.1.0", "private": true, "scripts": { "serve": "vue-cli-service serve", "build": "vue-cli-service build", "lint": "vue-cli-service lint" }, "dependencies": { "core-js": "^3.6.5", "vue": "^3.0.0", "vuex": "^4.0.0-0" }, "devDependencies": { ...((skipped))... } }

Y el punto de entrada src/main.js .

 import { createApp } from "vue"; import App from "./App.vue"; import store from "./store"; const app = createApp(App); app.use(store).mount("#app"); window.vueApp = app; // or can expose store directly // window.store = store;
  • exponga la instancia de la aplicación vue (window.vueApp) para acceder desde javascript externo.

Se puede acceder a la tienda Vuex de esta manera.

 // external.js const store = window.vueApp.config.globalProperties.$store /* * can inject(modify, delete, etc) data into vue app through `store` */

Manifestación

Una matriz se define en la tienda vuex como esta

 // file : src/store/index.js import { createStore } from "vuex"; export default createStore({ state: { nums: [0, 1, 2], }, mutations: { replaceNum(state, nums) { state.nums = nums; }, }, actions: {}, modules: {}, });
  • App.vue de matriz quieren ser renderizados en nums

Se puede acceder a los App.vue nums

 <template> <img alt="Vue logo" src="./assets/logo.png" /> <ul> <li v-for="(n, index) in $store.state.nums" :key="index">{{ n }}</li> </ul> </template>
  • $store.state.nums es una matriz de [0, 1, 2]
  • li se representa con texto (0, 1, 2)

Los números de matriz se pueden actualizar desde js externo

 // external.js const store = window.vueApp.config.globalProperties.$store store.commit('replaceNum', [2, 3, 5, 7, 11]);
  • commit('replaceNum', ...) - método de llamada replaceNum en mutaciones. Actualiza nums y contenidos también se actualiza.
about 4 years ago · Juan Pablo Isaza Relatório
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