поэтому в моем коде у меня есть вычисленное значение today
, которое позволяет мне получить доступ к текущему дню, месяцу и году, используя следующий код:
today: function() {
var currentDate = new Date();
return {
day: currentDate.getDate(),
month: currentDate.getMonth(),
year: currentDate.getFullYear()
};
}
Насколько я понимаю, разница между вычисляемыми свойствами и методами заключается в том, что вычисляемые свойства кэшируются и пересчитываются только в том случае, если их зависимости (например, нормальное свойство) меняются, в то время как методы полностью вычисляются каждый раз.
Теперь в моем случае никаких зависимостей нет. Итак, если при инициализации это 24 декабря 2017 года, поздно ночью, и я обращаюсь к today.day
через несколько минут, когда наступит 25-е число - будет ли мне присвоено исходное значение или значение будет пересчитано?
Технически никакие свойства не являются зависимостями от этого вычисляемого свойства, поэтому ничего не изменилось. Согласно следующему отрывку из официального руководства, today.day
должно по-прежнему равняться 24
.
Однако разница в том, что вычисляемые свойства кэшируются на основе их зависимостей. Вычисляемое свойство будет переоцениваться только после изменения некоторых его зависимостей.