Как получить индекс v-for в Vue.js? У меня есть компонент Vue, например, ниже: <div v-for="item in items" :key="there I want get the for-loop index" > </div> ... data(){ items: [{name:'a'}, {name:'b'}...] } Как я могу получить индекс при выполнении цикла for в моем vue.js? Ответ 1 Объявите переменную index: <div v-for="(item, index) in items" :key="item.name"> </div> Demo: new Vue({ el: '#app', data: { items: [{name: 'a'}, {name: 'b'}] } }) <script src="https://unpkg.com/vue"></script> <div id="app"> <div v-for="(item, index) in items" :key="item.name"> {{ index }}: {{ item.name }} </div> </div> Ответ 2 Вы можете использовать '$ index' для получения индекса v-for. <div v-for="item in items" :key="'$index'" > </div> и другой метод: <div v-for="(item, index) in items" :key="index" > </div> Ответ 3 Создайте метод: methods: { roleCount(key) { return key + 1; }, }, Если ключи массива нумеруются, начиная с нуля. items [0], items [1] и т.д.. Вы можете использовать ключи массива <div v-for="(item, key) in items" :key="key"> {{ incementIndex(key) }} </div> Но если ключи массива имеют тип String, вы можете сделать <div v-for="(item, key, index) in items" :key="key"> {{ incementIndex(index) }} </div> Вторая версия использует "счетчик" из цикла v-for. Ответ 4 Обновленный ответ :: Вы проиндексировали массив как: "["aaaa","bbbbb"]", а затем этот скрипт. new Vue({ el: '#app', data: { items: ["aaaa","bbbbb"] } }) <script src="https://unpkg.com/vue"></script> <div id="app"> <div v-for="(item, index) in items" :key="index"> {{ index }} : {{ item }} </div> </div>
Ответ 1 Объявите переменную index: <div v-for="(item, index) in items" :key="item.name"> </div> Demo: new Vue({ el: '#app', data: { items: [{name: 'a'}, {name: 'b'}] } }) <script src="https://unpkg.com/vue"></script> <div id="app"> <div v-for="(item, index) in items" :key="item.name"> {{ index }}: {{ item.name }} </div> </div>
Ответ 2 Вы можете использовать '$ index' для получения индекса v-for. <div v-for="item in items" :key="'$index'" > </div> и другой метод: <div v-for="(item, index) in items" :key="index" > </div>
Ответ 3 Создайте метод: methods: { roleCount(key) { return key + 1; }, }, Если ключи массива нумеруются, начиная с нуля. items [0], items [1] и т.д.. Вы можете использовать ключи массива <div v-for="(item, key) in items" :key="key"> {{ incementIndex(key) }} </div> Но если ключи массива имеют тип String, вы можете сделать <div v-for="(item, key, index) in items" :key="key"> {{ incementIndex(index) }} </div> Вторая версия использует "счетчик" из цикла v-for.
Ответ 4 Обновленный ответ :: Вы проиндексировали массив как: "["aaaa","bbbbb"]", а затем этот скрипт. new Vue({ el: '#app', data: { items: ["aaaa","bbbbb"] } }) <script src="https://unpkg.com/vue"></script> <div id="app"> <div v-for="(item, index) in items" :key="index"> {{ index }} : {{ item }} </div> </div>