Вычисленные свойства
В Синтаксисе шаблона мы обсудили усы и привязки необработанного HTML. Вы, наверное, заметили, что свойства, к которым мы привязываемся, взяты из свойства data, которое мы передаем конструктору Vue. Обычно эти свойства представляют собой строки, которые используются после объединения, замены, регулярного выражения и т. Д.
Возьмем для примера concat. У нас есть 3 объекта в data. Это мычание, гав и мяуканье.
И мы хотим отображать «Привет, я Дэвид» каждый раз, когда приветствуем пользователей. Это могло произойти несколько раз на одной странице. Придется ли нам вычислять снова каждый раз, когда он используется?
В этом случае стоимость игнорируется. Но если это довольно большие затраты на память и процессорное время, вы все равно будете с этим согласны? Так что нам определенно нужен другой способ получить эти вычисленные значения.
По другой причине, не кажется ли вам странным читать этот сложный код, встроенный в усы?
Итак, вот вычисленное свойство.
Вычисленное свойство
Примечание. приведенные выше коды взяты с страницы документации Vue.js с изменениями.
копия на самом деле является вычисляемым свойством. Обратите внимание, что это свойство функции, определенное в разделе вычислено из данных.
Если вы используете инструмент отладки, чтобы погрузиться в сценарий (используя typeof для просмотра типа вычисляемого свойства), вы обнаружите каждый раз, когда message меняет свое значение и тип (от строки к числу) тип копии немедленно изменяется. Супер круто, да?
Таким образом, ваш эффективный код становится намного лучше, а код теперь более читабельным.
Подожди. У нас есть еще одно свидетельство, подтверждающее, что Vue просто вычислил копию, как только вы изменили сообщение. Добавьте одну строку в console.log («catcha»); перед возвращаемым значением в вычисляемом свойстве copy. Запустите страницу и попробуйте несколько раз изменить сообщение в отладчике. Вы это видите? Вы получили результат еще до того, как использовали свойство copy!
Вычисленное кеширование против методов
Есть еще один способ заставить все работать - методы. Методы больше похожи на способ сделать код читабельным, чем на улучшение производительности. Почему? Потому что методы выполняются каждый раз при вызове функции.
В официальном документе Vue говорится, что вычисляемые свойства основаны на кэше. Другими словами, каждое свойство зависимости изменяется, вычисляемые свойства обновляются. И только зависимые свойства будут запускать этот процесс обновления.
Вы можете назвать это связанной реакцией. На одной стороне ссылки происходит изменение данных (свойства), и ссылка уведомляет все стороны об изменении «ваших» зависимых данных. Таким образом, все связанные вычислительные свойства вычисляются заново. Этот процесс Vue называет кешированием.
Вычисленное и наблюдаемое свойство
Как видите, вычислительные свойства - это зависимости, которыми управляет экземпляр Vue. А методы - это агрессивные вычислительные функции, определяемые разработчиками. Но есть еще один способ управлять свойствами данных, чувствительными к зависимостям, - это наблюдаемое свойство.
Наблюдаемая собственность позволяет разработчикам участвовать в наблюдении за недвижимостью и последующих процедурах.
Внимание. Несмотря на то, что у вас появился более мощный способ управления зависимостями, вы все равно должны быть осторожны, выбирая правильный способ. При этом следует учитывать как скорость, так и производительность.
Компьютерный сеттер
Это просто обратный процесс функции get вычисляемого свойства, которая является вызовом по умолчанию.
Если вам нравится мой контент, пожалуйста, хлопайте в ладоши и подписывайтесь на меня. Ознакомьтесь с моими оригинальными материалами на devchache.com.