mvvm和mvc的区别面试题,如何理解vue中的mvvm模式

  mvvm和mvc的区别面试题,如何理解vue中的mvvm模式

  本文主要介绍了网络访谈中的常见问题,MVC和MVVM的区别,以及为什么Vue不完全符合MVVM的困难答案。有需要的朋友可以借鉴一下,希望能有所帮助。

  

目录

   MVC和MVVM的区别MVC优缺点概述MVVM概述为什么Vue Vue没有完全遵从MVVM?

  

MVC和MVVM区别

  

前述

  首先,两者都只是一个想法,一个设计模式。

  很多编程语言都是基于这个思路设计了很多框架,比如Java的Spring MVC,PHP的ThinkPHP,JavaScript的Vue,React,Angular等等。

  

MVC

  

概述

  1.数据应该呈现在视图上。

  定义模板引擎

  检索数据

  然后将数据呈现到模板引擎中。

  2.查看操作控制器

  向页面上的按钮添加click事件。

  在事件中调用方法。

  控制器发送修改数据的请求。

  3.通过方法发送修改数据的网络请求。

  然后发送网络请求以获得修改的数据。

  然后将数据呈现给视图。

  

优缺点

  优势:

  减少耦合,方便代码维护和扩展。

  缺点:

  每次数据更新后都需要操作dom,影响开发效率;

  

MVVM

  

概述

  序

  为了提高开发效率,一个新的想法出现了:MVVM。其最大的特点:双向数据绑定;

  当M中的数据发生变化时,V中的数据也会自动发生变化。当V中的数据改变时,M中的数据也会自动改变。

  MVVM是MVC的改进,也是MVC的替代品。

  特点:

  当M变化时,V会自动变化。当V改变时,M会自动改变

  关系:

  一旦M发生变化,VM会检测到M的变化,会自动修改v。

  一旦V发生变化,VM就会检测到V的变化,自动修改m。

  有了MVVH,所有的dom操作都由vm来操作,减少了程序员的工作量,程序员可以把大量的时间花在业务逻辑上,而不是dom操作上。

  

MVVM实现者 — Vue

  

Vue为什么没有完全遵守MVVM?

  原文引用来自Vue官网作者自述,但作者没有给出原因。根据复习和自我整理,我认为有两个原因。

  理由一:mvvm指的是“模型-视图-视图模型”,应该是用来将‘模型’和‘视图’完全解耦的,但是vue: ref中提供了一个属性,通过这个属性可以获取dom对象,直接操作视图。在这一点上,它违反了mvvm

  第二,如下图所示,在结构上,“数据层”包含在“数据模型层”中,这两部分并不是完全独立的。

  以上是web面试MVC和MVVM的区别,以及Vue为什么不完全符合MVVM回答的详细内容。更多关于MVC和MVVM的信息,请关注我们的其他相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: