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

272
Visualizações
El mismo componente Vue.js en dos pestañas del navegador hace que <select> refleje sus valores seleccionados

Tengo una aplicación Vue, uso vue-router y algunos componentes renderizados en x-templates. En una de esas plantillas de marcado, tengo un objeto <seleccionar>. Cuando abro esta página en dos pestañas separadas en la misma sesión del navegador, cambié las selecciones en una pestaña que se refleja en la otra pestaña. Primero pensé que eran los datos y los métodos, pero luego agregué un <select> completamente vainilla con algunas <opciones> en él, sin enlaces, datos, controladores de eventos ni nada, ¡y se comporta de la misma manera! Cuando selecciono una opción en una pestaña, selecciona lo mismo en la otra. Es lo mismo para otros objetos < select > en la misma aplicación.

No puedo explicarlo. ¿Qué me estoy perdiendo? ¿Necesito mantener sesiones para evitar esto? ¿Si es así, cómo?

Editar: ahora me resulta evidente que todos los objetos se comportan de la misma manera y se reflejan entre las sesiones. Esto tiene que ser por diseño, pero ¿cómo hago para separarlo con un buen patrón en Vue.js?

Aplicación.js

 Vue.use(VueRouter) const router = new VueRouter({ mode: 'history', base: "/", routes: [ { path: '/', name: "start", component: Start, }, { path: '/character/view/:guid', name: "character.view", component: ViewCharacter, } ] }) new Vue({ router, el: '#app', data: function() { return { baseUri: "/" } }, computed: { } })

HTML

 <html> .... <script type="text/x-template" id="template-character-sheet"> <div> <select> <option>1</option> <option>2</option> </select> </script> ... <script src="/components/ViewCharacter.js"></script> <script src="/components/App.js"></script> ... </html>

ViewCharacter.js (piezas)

 const ViewCharacter = { template: "#template-character-sheet", components: { "navigation": Navigation }, data: function() { return { properties: values, ....... } }, computed: { current_stability: function() { return this.rules.stability_levels.filter(o => o.level == this.character.stability)[0]; }, ....... }, ....... }
over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

[No probado]

Creo que su problema es tener la misma :key en ambos <select> , intente agregar una clave generada para resolver el problema.

Documentos: https://v3.vuejs.org/guide/migration/key-attribute.html

over 4 years ago · Santiago Trujillo Relatório

0

Fusión cerebral. Me estaba olvidando de que la sincronización del navegador se estaba ejecutando en la cadena de herramientas para servir el contenido. Cambiado para servir, y el problema obviamente desapareció.

over 4 years ago · Santiago Trujillo 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