@megamage
Люблю грозу в начале мая!

Как работает MVVM в js фреймворках?

Добрый день!
Немного освоившись во vue, появилось желание понимать, как работает сам vue (т.е. что он делает после создания экземпляра и тд. Начал копать по MVC, MVP, MVVM, как это работает и тп.
В доке по vue увидел это


Хоть Vue и не реализует паттерн MVVM в полной мере, архитектура фреймворка им во многом вдохновлена. Поэтому переменную с экземпляром Vue традиционно именуют vm (сокращённо от ViewModel).


Добрые люди! Объясните пожалуйста, как работает MVVM во VUE? Т. е. что конкретно происходит. Где model, view. Сколько всего пересмотрел, перечитал, все объясняют эти паттерны так себе.
То есть как работает MVVM? Нужно ли его понимать, чтобы нормально кодить? Если да, то как понять? Объясните пожалуйста на конкретно фреймворке vue. А что насчет MVC?
Я думаю, что это большая боль всех начинающих и, написав ответ, вы совершаете доброе дело!)
Искренне благодарю всех неравнодушных к данному вопросу)
  • Вопрос задан
  • 590 просмотров
Решения вопроса 2
@grinat
Model - методы
View - template
ViewModel - то что в data

MVC/MVP
Model - методы
View - template
Presenter/Controller - там бы лежал который бы пинал вьюху и заставлял ее обновляться, или принимал данные от всяких инпутов и перенаправлял в модели, получал бы что-то от модели и затем бы пинал вьюху
Presenter - это декстоп, controller для вэб, суть таже.

Чтобы кодить понимать не надо. Из js фреймворков что-то понимать надо в angular/backbone/nestjs, в vue/react/express это все не надо.
Ответ написан
Robur
@Robur
Знаю больше чем это необходимо
Там же прямо написано что vue это НЕ MVVM. Зачем вы хотите понять где там mvvm если его там нет?

Они вдохновились этим подходом, запилили свой, можете назвать это паттерном "vue" и успокоиться :)

прочитайте общие описания паттернов - зачем их вообще сформулировали, какие проблемы они должны решать, запомните подходы и на этом все.
Каждый фреймворк сейчас предлагает свою архитектуру, а с учетом того что это все как конструктор - вы можете сверху нагородить что угодно.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@bagzon
Backend PHP, NodeJs, JS
Проще говоря модель, где данные и их обработка находятся во vuex, отображение этих данных уже в компонентах vue. Вот тебе и MVVM
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы