Bindowanie klucza w pętli v-for - vuejs

Bindowanie klucza w pętli v-for - vuejs
K8
  • Rejestracja:około 5 lat
  • Ostatnio:ponad 4 lata
  • Postów:112
0

W jakim celu w tym przykładzie jest bindowany key w dyrektywie v-for? Bez tego klucza zostaną wypisane takie same elementy na outpucie.

Kopiuj
<script src="https://unpkg.com/vue/dist/vue.js"></script>

<ul id="example-1">
  <li v-for="item in items" :key="item.message">
    {{ item.message }}
  </li>
</ul>

var example1 = new Vue({
  el: '#example-1',
  data: {
    items: [
      { message: 'Foo' },
      { message: 'Bar' }
    ]
  }
})
edytowany 1x, ostatnio: konewka85
.__.
  • Rejestracja:ponad 5 lat
  • Ostatnio:prawie 5 lat
1
K8
  • Rejestracja:około 5 lat
  • Ostatnio:ponad 4 lata
  • Postów:112
0
.__. napisał(a):

https://vuejs.org/v2/api/#key

Z tego co wyczytałem tego klucza używa się w celu tego aby nie wystąpiły żadne błędy, gdy będziemy zamieniać kolejność elementów w liście?

K8
  • Rejestracja:około 5 lat
  • Ostatnio:ponad 4 lata
  • Postów:112
0

@.__.: dobrze mówię?

.__.
  • Rejestracja:ponad 5 lat
  • Ostatnio:prawie 5 lat
0

Podany klucz musi mieć każdą wartość unikalną (np. id) i wtedy vue będzie efektywniej operować na elementach w pętli. Bez klucza też zadziała, ale będzie do tego stosować własny algorytm, który zapewne jest już wolniejszy.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.