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

141
Visualizações
How to update dynamic variable in array after change VUE

I want to assign a constant in an array to a variable and after changing this variable, the constant is updated with the new value of the variable.
But I cant understand what I must computed or watch.
Its example what I want
PageA.vue

 <div id="page-a">
      <div  class="card" 
            v-for="door in doors"
            :key="door.id">
    
        <div class="modelName">{{door.model}}</div>
      </div>
    </div>

    <script>
      export default {
        data() {
          return {
            firstDoorModel:"018",
            secondDoorModel:"015",
            doors: [    
             {model:firstDoorModel,
              id:"1"},
             {model:secondDoorModel,
              id:"2"},
             {model:firstDoorModel
              id:"3"}]
          }
        },
        methods: {
          changeModel(){
            this.firstDoorModel="012"
            this.secondDoorModel="010"
          }
        }
about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

If I understood you correctly, try like following:

new Vue({
  el: "#page-a",
  data()   {
    return{
      doors: [{model: "", id: "1"}, {model: "", id: "2"}]
    }
  },
  methods: {
    changeModel(arr){
      for (let i = 0; i < this.doors.length; i++) {
        this.doors[i].model = arr[i]
      }
    }
  },
  mounted() {
    this.changeModel(["018", "015"])
  }
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
<div id="page-a">
  <div class="card" 
       v-for="door in doors"
       :key="door.id"
  >
    <div class="modelName">{{ door.model }}</div>
  </div>
  <button @click="changeModel(['012', '010'])">Change</button>
</div>

about 4 years ago · Juan Pablo Isaza Relatório

0

Working Demo :

const app = new Vue({
  el: '#app',
  data() {
    return {
      doors: [{
        model: '018',
        id: '1'
      }, {
        model: '015',
        id: '2'
      }]
    }
  },
  methods: {
    changeModel(inputModelArr) {
        if (inputModelArr.length !== this.doors.length) {
       return;
      }
        this.doors.forEach((door, index) => {
        door.model = inputModelArr[index]
      });
    }
  }
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
<div id="app">
  <div v-for="door in doors" :key="door.id">
    {{ door.model }}
  </div><br>
  <button v-on:click="changeModel(['10', '20'])">Change Book Model</button>
</div>

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