Есть задача касательно js, vuejs https://codepen.io/login2030/pen/VrxgPe. Объясните пожалуйста, почему задача решается правильно, если добавить console.log(this.deleted) или любую запись связанную с this.deleted во внутрь вычисляемого свойства count() ?
Как говорится в доках, Vue плохо справляется с изменениями внутри массивов. Изначально свойство count зависит только от items.length:
count() {
return this.items.length;
}
Следовательно, это свойство должно актуализироваться только тогда, когда произойдет изменение в объектах, от которых оно зависит - т.е. в items.length. Массив items не изменяется явным образом, поэтому Vue не может отследить изменение в items.length. Поэтому свойство count не обновляется.
В отличие от items, массив deleted изменяется явно (this.deleted = ...), и такое изменение Vue может отследить. Поэтому, когда в свойство count добавляется еще одна зависимость (от deleted), и после этого делается this.deleted = ..., то Vue видит, что одна из зависимостей обновилась, и обновляет свойство count.
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости