Vue.js Операторы цикла
В Vue операторы цикла в основном реализуются с помощью директивы v-for, которая используется для перебора массивов или объектов и создаёт соответствующее количество элементов.
Используйте директиву v-for на элементе, чтобы отображать элементы в цикле на основе исходного массива или объекта данных.
Перебор массива:
v-for="(item, index) in items"
Перебор объекта:
v-for="(value, key, index) in object"
Роль keyИспользование :
v-forПри отрисовке списка необходимо указать уникальныйkeyатрибут, чтобы Vue мог распознавать уникальность каждого элемента и эффективно обновлять DOM.Вложенные циклы: несколько циклов можно вложить друг в друга
v-forдля отрисовки многомерных массивов или объектных структур.
v-for может привязывать данные к массиву для отображения списка:
Пример v-for
<ol>
<li v-for="site in sites">
{{ site.text }}
</li>
</ol>
</div>
<script>
const app = {
data() {
return {
sites: [
{ text: 'Google' },
{ text: 'Example' },
{ text: 'Taobao' }
]
}
}
}
Vue.createApp(app).mount('#app')
</script>
Попробуйте сами »
v-for также поддерживает необязательный второй параметр, значение которого — индекс текущего элемента:
Пример v-for
index — это значение индекса элемента списка:
<ol>
<li v-for="(site, index) in sites">
{{ index }} -{{ site.text }}
</li>
</ol>
</div>
<script>
const app = {
data() {
return {
sites: [
{ text: 'Google' },
{ text: 'Example' },
{ text: 'Taobao' }
]
}
}
}
Vue.createApp(app).mount('#app')
</script>
Попробуйте сами »
Использование v-for в элементе <template>:
v-for
Попробуйте сами »
v-for: перебор объектов
v-for может перебирать данные через свойства объекта:
v-for
Попробуйте сами »
Вы также можете указать второй параметр как имя ключа:
v-for
Попробуйте сами »
Третий параметр — это индекс:
v-for
Попробуйте сами »
v-for Перебор целых чисел
v-for также может перебирать целые числа
Отображение отфильтрованных/отсортированных результатов
Мы можем обработать элементы массива перед их отображением. Обычно мы можем создать вычисляемое свойство, возвращающее отфильтрованный или отсортированный массив.
Пример v-for
Вывести чётные числа в массиве:
Попробуйте сами »
Совместное использование v-for/v-if
В приведённом выше примере v-for/v-if используются совместно для установки значения по умолчанию для select:
Пример v-for/v-if
v-for выводит список, v-if устанавливает выбранное значение:
Попробуйте сами »
Использование v-for на компонентах
Если вы ещё не изучали компоненты, можете пропустить этот раздел.
В пользовательских компонентах можно использовать v-for так же, как и в любом обычном элементе:
<my-component v-for="item in items" :key="item.id"></my-component>
Однако данные не будут автоматически передаваться в компонент, потому что компонент имеет собственную независимую область видимости. Чтобы передать итерированные данные в компонент, нам нужно использовать props:
<my-component v-for="(item, index) in items" :item="item" :index="index" :key="item.id" ></my-component>
Причина, по которой item не внедряется в компонент автоматически, заключается в том, что это бы тесно связало компонент с работой v-for. Явное указание источника данных компонента позволяет повторно использовать компонент в других ситуациях.
Ниже приведён полный пример простого списка задач:
Пример
Попробуйте сами »