In MVC, view is directly accessible to the model! As a result, the view contains the model information and inevitably includes some business logic. The MVC model is concerned with the constant model, so in the MVC model, models do not depend on the view, but the view is dependent on model. Not only that, because some business logic is implemented in view, it is difficult to change the view, at least those business logic is not reusable.
MVVM is conceptually a pattern that actually separates the page from the data logic, it puts the data binding work into a JS, and the main function of this JS file is to complete the data binding, that is, to bind the model to the elements of the UI.
Someone has tested: using angular (MVVM) instead of backbone (MVC) to develop, the code can be cut in half.
In addition, MVVM is another important feature of two-way binding. It makes it easier for you to maintain the n areas of a field on a page at the same time without having to update them manually.
What's the difference between MVC and MVVM?