Задать вопрос
@arsenalfangun

Для чего во Vue data пишется таким образом?

Для чего объект data заключен в круглые скобки? Почему нельзя сделать так: data: {} или data: () => {}
5fa7c27b5b4c7200236670.png
  • Вопрос задан
  • 771 просмотр
Подписаться 1 Простой 1 комментарий
Помогут разобраться в теме Все курсы
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
  • Академия Эдюсон
    Fullstack-разработчик на JavaScript + ИИ
    11 месяцев
    Далее
  • ProductStar × РБК
    Профессия: Инженер по тестированию + ИИ
    6 месяцев
    Далее
Решения вопроса 1
@dGololobov
начинающий
Внутри Vue data вызывается как функция. Т.е. в момент когда vue готово обратиться к параметрам data там происходит такой вызов:

data()

Соответственно прямое обращение к data объявленному как объект ( data: {} ) вызовет ошибку Uncaught TypeError: data is not a function.

Теперь о втором варианте. data: () => {} - такое объявление подразумевает, что внутри блока {} будут какие условия.
А после вызова функции data() vue ожидает в результате получить объект.

При использовании стрелочной функции нам остается использовать два варианта по сути:
Краткая запись:
data: () => ({ param: 1 }) //Возвращает объект
Расширенная запись:
data: () => {
 return {
     param: 1 
  }
}


Если осталось много неясных моментов то можете попробовать прочитать вот эту статью
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы