Ваш код будет работать, и все в порядке, но для большей защиты полезно создать метод (или фильтр) для получения конкретного элемента из массива, например, для метода:
methods: {
getAnimalByIndex({ animals = [], index = 0 }) {
return animals[index] || {}
}
}
...и затем используйте в шаблоне, как показано ниже:
<h2>My favorite animal is a {{ getAnimalByIndex({ animals, index: 2 }).name }} and it eats {{ getAnimalByIndex({ animals, index: 2 }).food }} </h2>
Благодаря вышесказанному вы можете предоставить запасное значение или быть уверенным, что все будет в порядке, даже если животные не определены;)
Более того, если вы хотитечтобы всегда получать третье животное, тогда, возможно, будет хорошей идеей использовать вычисленное значение, как показано ниже:
computed: {
thirdAnimal() {
return this.animals[2] || {}
}
}
... и использовать вычисленное значение в шаблоне:
<h2>My favorite animal is a {{ thirdAnimal.name }} and it eats {{ thirdAnimal.food }} </h2>