1.v2与v3的区别
vue3对源码的管理根据模块进行拆分,在不同目录中对不同的模块进行分别维护;
vue3是基于typescript语言进行开发的,这样可以进行更好的类型检查;
vue3体积减小,去除了不常使用的API,Tree shaking 对未使用的模块、变量、引用等进行删除,减小了不必要的代码及冗余;由选项是API更新为合成式API;
vue3的diff算法中增加了静态标记,便于在下次发生变化时可以直接通过标记进行找到,提高了模型的性能;
vue3对于不参与更新的元素进行静态提升,意思是将静态值给与一个标记并且在render函数之外进行定义,这样每次调用渲染函数的时候不会对该值进行重复创建,优化了运行时的内存;
当静态内容达到一定数量的时候,vue3会采用createStaticVNode在客户端生成静态节点嵌入页面中,不需要创建对象直接渲染到页面中----也叫服务端渲染SSR;
通过Proxy进行数据劫持,可以监听到数据的增加和删除等对象的变化实现响应式的目的;
vue3在语法上进行了更新,组件根据功能进行组织,这样可以使得每一个功能所定义的API实现高内聚,在修改某个功能时不需要在文件中跳来跳去,提高了代码的可维护性;
组件通信
vue3不能直接获取props,需要通过setup进行指令传递;
生命周期不一样,vue3不需要new实例,实现按需引入即可,采用内置createApp创建。因此生命周期为onBeforemount、mounted、onBeforeUpdate、onUpdated、onBeforeUnmount、onUnmounted;
vue3新增片段特性,组件可以包含多个节点;
vue3新增了一些组件,删除了过滤器;
2.使用
安装
在官网下载vue.js之后进行引入即可;
其次可以采用脚手架的方式进行项目的创建;
3.学习
vue.js设计与实现
1.命令式的性能高于声明式;声明式的可维护性高于命令式,通过权衡采用声明式
vue.js技术内幕