说说vue的优缺点
-
自己的理解不知道对不对,数据的监听在初始化时就绑定监听器了,所以后续数组或对象的改变不一定会及时监听或更新到,得采用this.$set()或其它方法,(this.$set()是万能方法)
-
这个感觉和对vue的理解是差不多的题
优点:1. 数据驱动
2.模块化
3.轻量级
4.SPA
5. 版本3.0的界面化管理工具比较好使
6.vue易入门
缺点:1. 不支持低版本浏览器 -
缺点:
- 吃内存(每个组件都会实例化一个Vue实例,实例的属性和方法很多)
2.定义在data里面的对象,实例化时,都会递归的遍历转成响应式数据,然而有的响应式数据我们并不会用到,造成性能上的浪费
3.像keep-alive transition transition-group 这些内置组件,不管用不用其实都已经挂到Vue.options.components上,如果不用,造成对象变大,从而占用内存
4.父子组件更新,没有明确的来源
- 吃内存(每个组件都会实例化一个Vue实例,实例的属性和方法很多)
-
优点:
1、数据驱动视图,对真实dom进行抽象出virtual dom(本质就是一个js对象),并配合diff算法、响应式和观察者、异步队列等手段以最小代价更新dom,渲染页面
2、组件化,组件用单文件的形式进行代码的组织编写,使得我们可以在一个文件里编写html\css(scoped属性配置css隔离)\js 并且配合vue-loader之后,支持更强大的预处理器等功能
3、强大且丰富的API提供一系列的api能满足业务开发中各类需求
4、由于采用虚拟dom,让vue ssr先天就足
5、生命周期钩子函数,选项式的代码组织方式,写熟了还是蛮顺畅的,但仍然有优化空间(vue3 composition-api)
6、生态好,社区活跃
缺点:
1、由于底层基于Object.defineProperty实现响应式,而这个api本身不支持IE8及以下浏览器
2、csr的先天不足,首屏性能问题(白屏)
3、由于百度等搜索引擎爬虫无法爬取js中的内容,故spa先天就对seo优化心有余力不足(谷歌的puppeteer就挺牛逼的,实现预渲染底层也是用到了这个工具)