对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动态加载内容