Rumah  >  Soal Jawab  >  teks badan

"Menggunakan arahan v-for untuk elemen tatasusunan dan pemusnahan atribut"

Apabila menggunakan tatasusunan objek, adakah mungkin untuk menetapkan objek semasa secara serentak kepada pembolehubah dan memusnahkan sifatnya dalam gelung v-for? Seperti ini:

<div v-for="(person = {name, age}, index) in persons">

Akhirnya saya mahu boleh menggunakan kedua-dua keseluruhan person objek dan sifatnya dalam templat.

P粉420958692P粉420958692348 hari yang lalu605

membalas semua(1)saya akan balas

  • P粉115840076

    P粉1158400762023-11-06 15:56:06

    Setahu saya, anda tidak boleh melakukan kedua-duanya pada masa yang sama.

    Namun, anda boleh menyahkonstruknya, contohnya:

    <div v-for="({name, age}, index) in persons">
    

    Anda kemudian boleh mengakses elemen yang betul melalui indeks: persons[index].


    Contoh:

    new Vue({
      el: "#app",
      data: {
        todos: [{
            text: "Learn JavaScript",
            done: false
          },
          {
            text: "Learn Vue",
            done: false
          },
          {
            text: "Play around in JSFiddle",
            done: true
          },
          {
            text: "Build something awesome",
            done: true
          }
        ]
      },
      methods: {
        toggle: function(index) {
          this.todos[index].done = !this.todos[index].done
        }
      }
    })
    body {
      background: #20262E;
      padding: 20px;
      font-family: Helvetica;
    }
    
    #app {
      background: #fff;
      border-radius: 4px;
      padding: 20px;
      transition: all 0.2s;
    }
    
    li {
      margin: 8px 0;
    }
    
    h2 {
      font-weight: bold;
      margin-bottom: 15px;
    }
    
    del {
      color: rgba(0, 0, 0, 0.3);
    }
    <script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
    <div id="app">
      <h2>Todos:</h2>
      <ol>
        <li v-for="({text, done}, i) in todos">
          <label>
            <input type="checkbox"
              v-on:change="toggle(i)"
              v-bind:checked="done">
    
            <del v-if="done">
              {{ text }}
            </del>
            <span v-else>
              {{ text }}
            </span>
            
            {{todos[i]}}
          </label>
        </li>
      </ol>
    </div>

    balas
    0
  • Batalbalas