> Что такое ViewModel во Vue и как он работает (Vue.js)

Уровень: junior · Роль: frontend · Категория: Технические вопросы

Компании: Библио-Глобус

Стек: Vue.js

> Пример ответа

ViewModel - это ключевая концепция, реализующая паттерн MVVM (Model-View-ViewModel). В контексте Vue.js ViewModel представлен экземпляром Vue (или компонентом), который связывает Model (данные, состояние приложения) и View (DOM-шаблон). Vue использует реактивную систему: когда данные в Model изменяются, View автоматически обновляется, и наоборот - пользовательские события в View (например, клики) могут изменять Model через методы.

Как это работает:

  • Реактивность: Vue «проксирует» объект данных (data), превращая его свойства в реактивные с помощью геттеров/сеттеров. При изменении свойства Vue уведомляет зависимые компоненты и перерисовывает только изменённые части DOM.

  • Двустороннее связывание: Через директиву v-model View и Model синхронизируются: изменение ввода обновляет данные, а изменение данных обновляет ввод.

  • Композиция: Каждый компонент Vue - это свой ViewModel, который инкапсулирует свою логику и шаблон, что упрощает разработку и тестирование.

Пример:

JAVASCRIPT
new Vue({
el: '#app',
data: { message: 'Привет' }, // Model
methods: { update() { this.message = 'Новое' } } // Логика ViewModel
});

Шаблон <input v-model="message"> автоматически связывает View и Model через ViewModel.

> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?

Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью