watch: {
cloneItems(old, cur) {
this.prevItems = old;
},
Вот что бывает, когда не читаешь документацию.
Параметры местами перепутаны - сначала новое значение, потом старое.
computed: {
cloneItems: () => this.items.slice(),
Вот что бывает, когда не знаешь язык.
Контекст внутри cloneItems - это не экземпляр компонента. Заменить стрелочную функцию на обычную.
prev items:
<div v-for="item in items" :key="item">
Вот что бывает, когда бездумно копипастишь .
Заголовок поменяли, а про выводимые данные забыли.
this.items = [...this.items, Date.now()];
Нет необходимости создавать новый массив, достаточно делать push - вызовы мутирующих методов тоже отслеживаются.
Ну а если всё же намерены и дальше перезаписывать массив целиком, то нет необходимости делать копию - можно следить сразу за оригиналом, раз он заменяется целиком.