一、vue的两大特点
1、数据驱动
2、组件化
二、vue的优缺点
优点:
1、轻量级框架:只关注视图层
2、双向数据绑定:保留了angular的特点,操作数据更为简单
3、组件化:保留了react的优点
4、视图、数据、结构分离:更改数据更为简单,不需要进行逻辑代码的修改,只需要操作数据就能完成相关操作
5、虚拟DOM:DOM操作非常耗费性能,不再使用原生的dom操作节点,极大解放了dom操作,但具体操作的还是dom,只不过是换了一种方式
6、运行速度快
缺点:
1、不支持低版本的浏览器,最低只支持到IE9
2、不利于SEO的优化(如果要支持SEO,建议通过服务器端来渲染组件)
3、第一次加载首页耗时较长
4、不可以使用浏览器的导航按钮,需要自行实现前进后退
三、谈谈你对SPA的理解,它的优缺点是什么
介绍:
1、仅在页面初始化时加载相应的html,js,css,页面一旦加载完成,不会因为用户的操作进行页面的重新加载或跳转,页面变化是利用路由机制实现HTML内容的变换
优点:
1、用户体验好,内容的改变不需要重新加载整个页面,避免了不必要的跳转和重复渲染
2、减少了不必要的跳转和重复渲染,相对减轻了服务器的压力
3、前后端职责分离,前端进行交互逻辑,后端负责数据处理
缺点:
1、初次加载耗时多
2、不能使用浏览器的前进后退功能,因为单页面应用在一个页面中显示所有的内容
3、不利于搜索引擎
四、SPA首屏加载速度慢怎么解决
介绍:从用户输入网址到首屏内容渲染完成的时间
加载慢的原因:
1、网络延时
2、资源文件体积过大
3、资源发送请求重复
4、加载脚本的时候,渲染内容堵塞了
解决方式:
1、减小入口文件体积
2、静态资源本地缓存
3、按需加载UI框架
4、压缩图片资源
5、使用SSR
五、对MVVM的理解
介绍:MVVM由Model、VIew、ViewModel三部分构成,Model代表数据模型,可以在Model中操作数据及业务逻辑;View代表UI组件,它负责将数据模型转换成UI展现出来;ViewModel是同步View和Model的桥梁对象
六、Vue数据双向绑定原理 (响应式原理)
原理:采用数据劫持结合发布者-订阅者模式,