Я не до конца понял структуру v-for, как решить?
Vue.js курс.
8 урок(практическое задание).
Нужно указать <li v-for="(actor, index) in actors">
{{ actor.name }}
</li>
Почему actor.name, если запись приложения следующая:
var app = new Vue({
el: '#app',
data: {
message: 'Hello, FructCode!',
items: [
{ title: 'Apple' },
{ title: 'Lemon' }
],
product: {
brand: 'Apple',
model: 'XR',
price: 1000
},
actors: [
{ name: 'Morgan Freeman' },
{ name: 'Leonardo DiCaprio' },
{ name: 'Brad Pitt' },
{ name: 'Michael Caine' },
{ name: 'Robert De Niro' }
],
Разве не actors.name?
Или я чего-то не понял?
/я не до конца понял структуру v-for="(actor, index) in actors", и не до конца понимаю, что там за что отвечает, кроме index'a, и т.д., но я уверен, что в данном случае, это какая-то ошибка. Если нет, поправьте меня. Почему в скобках actor, и его нужно указывать? Как он находит в таком случае actors?/
3 ответов
Смотри на цикл:
<li v-for="(actor, index) in actors">
actors - это объект из которого формируется цикл, actor - это каждый элемент объекта.
Посмотри еще раз про директиву v-for:
То есть, например, я мог бы использовать такую запись?
Да, если не нужен index.
Цикл создаётся из объекта actors, а обращаться к нему я буду как actor?
Внутри цикла да, можно обращаться к actor. Если цикл так будет выглядеть:
<li v-for="item in actors">
вместо actor будет обращение к item, т.е. как угодно можно назвать переменную для обращения внутри цикла, но еще сам объект actors называется, логично назвать переменную для использования внутри цикла actor.
<li v-for="actor in actors">
То есть, например, я мог бы использовать такую запись?
(index не используется в данном случае, потому можно и убрать)
Цикл создаётся из объекта actors, а обращаться к нему я буду как actor?
Отсюда следует, что всё то, что будет храниться в actors, я смогу вызывать при помощи actor., или actors. ?