Last updated
Last updated
Встраиваемые в шаблоны выражения удобны, но могут предназначаться только для простых операций. При усложнении логики их труднее поддерживать:
Такой шаблон уже не выглядит простым и декларативным. С первого взгляда и не скажешь, что он всего лишь отображает message
задом наперёд. Ситуация станет ещё хуже, если эту логику потребуется использовать в нескольких местах шаблона.
На помощь здесь приходят вычисляемые свойства.
Результат:
Мы определили вычисляемое свойство reversedMessage
. Написанная нами функция будет использоваться как геттер свойства vm.reversedMessage
:
В шаблонах можно обращаться к вычисляемым свойствам как и к обычным. Vue знает, что vm.reversedMessage
зависит от vm.message
, поэтому при обновлении vm.message
обновятся и все зависящие от него элементы, в нашем случае обновится vm.reversedMessage
. Самое важное — эту зависимость теперь мы указали декларативно: геттер вычисляемого свойства не имеет побочных эффектов, что упрощает понимание кода и его тестирование.