对MVVM以及SPA应用的理解

44 阅读1分钟

对MVVM和MVC的理解

都是数据驱动视图,不用去直接操作dom

1、MVVM——双向驱动(vue)

也就是把MVC中的Controller演变成ViewModel。

  • Model层代表数据模型
  • View代表UI组件
  • ViewModel是View和Model层的桥梁

数据会绑定到viewModel层并自动将数据渲染到页面中,视图变化的时候会通知viewModel层更新数据。

2、MVC体系——单向驱动(react)

  • model数据层 
  • view 视图层
  • controller 控制层 

数据驱动视图的渲染,视图修改,想要修改数据,需要开发者自己去写代码实现

什么是单页面应用spa

整个应用只有一个HTML页面,不会像传统页面频繁的进行页面的整体刷新,而是通过动态加载替换页面中部分内容来实现页面的切换和更新

1、首次加载,浏览器会加载一个HTML文件,和相关的js,css文件。构建出一个完整的应用环境 2、路由,单页面应用借助路由系统来管理视图的切换。路由系统会监听到url变化,动态渲染

  • 3、通过ajax或者fetch与服务器进行数据交互,获取数据,实现局部刷新

优点:

1、用户体验好,切换页面更快 
2、开发效率高,组件化开发模式,前后端分离 
3、性能优化空间大,可以进行代码分割懒加载

缺点:

1、首次加载时间长 
2、seo难度大。因为爬虫在抓取页面的时候,只能获取初始html文件,无法获取js动态加载内容