const obj = reactive({ count: 0 })
И я хочу добавить к нему наблюдателя. В документации говорится, что я не могу напрямую просматривать свойство объекта следующим образом:
watch(obj.count, (count) => { console.log(count) })
И вместо этого скажите нам использовать функцию получения:
watch( () => obj.count,
То же самое с вычисляемые свойства - используется та же нотация стрелочной функции.
Может ли кто-нибудь объяснить более подробно, что такое функция «getter» и как именно она работает?
Может быть, это потому, что у меня нет такого опыта работы с простым JS, но, насколько мне известно, существует понятие методов get и set, которые вы могли бы добавить в определение объекта (https://www.w3schools.com/js/js_object_accessors.asp), которые не являются обязательными, но которые дают вам некоторые побочные преимущества при использовании.
Но здесь, в нашем примере Vue, мы не указываем какие-либо методы get или set в нашем объекте (?)
Код: Выделить всё
const obj = reactive({ count: 0 })
Имеют ли эти добавленные методы get те же имена, что и свойства? Например:
count: 0,
get count() { return this.count
Или мы на самом деле «создаем» «геттер» на лету с помощью () => obj.count (= function (){ return obj.count (?)
Или это не имеет ничего общего с JS-геттерами, и мы просто называем это «функцией-геттером», тогда как это просто функция, которая возвращает значение свойства объекта (в этом случае я не совсем понимаю, почему мы не можем обратиться к свойству объекта напрямую без функции).
Извините, если это вопрос для начинающих, думаю, мне здесь нужен ELI5.
Спасибо.
Подробнее здесь: https://stackoverflow.com/questions/798 ... r-function
Мобильная версия