面试可能遇到的一个问题,面试官说那你了解到Vue的优点了,什么单页面、响应式等,那你说说Vue的缺点吧。缺点????Vue有啥缺点???下面简单聊一下。
一、关于响应式的问题
由于Vue中对象的响应式是通过object.defineproperty()实现的。通过get和set方法,获取时触发get,更改时触发set。但是对于属性的删除和添加是没办法实现响应式的。一般通过this.$set解决,对于删除也有对应的this.$delete实现
对于数组,当通过数组的下标去修改数据的时候,页面不会更新,解决办法:vue是通过对数组方法的二次封装来解决的,也就是所谓的更新变异方法,实际上调用的并不是对象本身的方法,而是调用的vue封装好的方法。
二、单页面的问题
vue是单页面应用,当你进行页面的切换时,对于vue来说只是进行了页面卸载与加载的过程,实际上还是同一个页面,当项目过大时,可能会出现首页白屏太长的问题。解决:路由懒加载,当到这个页面的时候,页面才会进行加载
三、浏览器支持问题
上面说到vue中使用了Object.defineProperty,这是es5的特性,但是IE8及以下几乎不支持es5,并且Vue需要Promise的支持,IE8同样不支持Promsie。