Использовать index в качестве key можно, только если вам нужно отрисовать статичный список, который не будет изменяться. И то, лучше не иметь такой привычки.
Значение key должно идентифицировать свой элемент (быть уникальным), индекс никак элемент не идентифицирует. Если бы значения message точно не повторялись, можно было бы использовать их.
Если данных для ключа нет, то нужно создать вычисляемое свойство и сгенерировать каждому элементу уникальный ключ:
computed: {
messagesWithId() {
return this.messages.map((el) => {
return { message: el, key: Math.random() };
});
},
},