Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

205
Vistas
Vue3 - Ace Editor en el cambio de modelo v

Estoy usando Ace Editor con Vue3:

 <v-ace-editor v-model:value="currentRecord.prompt" lang="json" theme="textmate" style="height: 100%;" :options="{ showGutter: pipeline.input_mode!=='text', showPrintMargin: false, useWorker: true, }" />

Se está inicializando así:

 <script setup> import {computed, ref, watch} from 'vue'; import {VAceEditor} from 'vue3-ace-editor'; import ace from 'ace-builds'; import 'ace-builds/src-noconflict/mode-json'; import 'ace-builds/src-noconflict/theme-textmate'; import workerJsonUrl from 'file-loader?esModule=false!ace-builds/src-noconflict/worker-json.js'; ace.config.setModuleUrl('ace/mode/json_worker', workerJsonUrl); //Load in a set of different JSON texts: const props = defineProps({ records: { type: Object, }, }); let currentRecordIndex = ref(0) let currentRecord = computed(() => collect(props.records).slice(currentRecordIndex.value).first() ?? {'prompt': ''}) </script>

Ahora, quiero conservar automáticamente el valor de currentRecord.prompt en mi base de datos en el backend. Para hacer esto, estaba pensando en disparar una solicitud al backend cada vez que se cambiaba el valor de currentRecord.prompt en el editor:

 watch(() => currentRecord, () => { console.log("Current record was changed."); //Code to hit the backend comes here. });

El problema aquí es que el watch no funciona/se activa cada vez que se realiza un cambio en el texto en el editor.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Como estoy viendo un objeto, necesito habilitar la opción deep de esta manera:

 watch(currentRecord, () => { //... }, {deep: true})

Como usar deep puede ser costoso (ver declaración oficial):

La vigilancia profunda requiere atravesar todas las propiedades anidadas en el objeto vigilado y puede ser costosa cuando se usa en estructuras de datos grandes. Úselo solo cuando sea necesario y tenga cuidado con las implicaciones de rendimiento.

Pensé que solo necesitaba ver el valor (ya que se calcula currentRecord ):

 watch(currentRecord.value, () => { //... })
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda