Computed
Эти свойства удобны и позволяют не замусоривать шаблон
Встраиваемые в шаблоны выражения удобны, но могут предназначаться только для простых операций. При усложнении логики их труднее поддерживать:
Такой шаблон уже не выглядит простым и декларативным. С первого взгляда и не скажешь, что он всего лишь отображает message задом наперёд. Ситуация станет ещё хуже, если эту логику потребуется использовать в нескольких местах шаблона.
На помощь здесь приходят вычисляемые свойства - computed
Можно заметить, что такого же результата можно достичь и с помощью метода:
Вместо вычисляемого свойства, можно использовать ту же самую функцию в качестве метода. С точки зрения конечного результата, оба подхода делают одно и то же. Но есть важное отличие: вычисляемые свойства кэшируются, основываясь на своих реактивных зависимостях.
Важно знать
Вычисляемое свойство пересчитывается лишь тогда, когда изменится одна из его реактивных зависимостей. Поэтому, пока message остаётся неизменным, многократное обращение к reversedMessage будет каждый раз возвращать единожды вычисленное значение, не запуская функцию вновь.
Сеттеры вычисляемых свойств
Более продвинутое использование computed
По умолчанию вычисляемые свойства работают только на чтение, но при необходимости можно также указать и сеттер:
Теперь запись this.fullName = 'Иван Иванов' вызовет сеттер, firstName и lastName будут соответствующим образом обновлены.
В следующем уроке мы рассмотрим методы-наблюдатели - watchers