6.8作业

1.vue2与vue3的区别


        1- vue2与vue3双向绑定数据的原理不同
                vue2双向数据绑定采用了es5中Object.defineProperty() 对数据进行了劫持,结合发布订阅模式实现
                vue3 采用了es6中的proxy代理对象的方式进行数据交互,相较vue2来说大大的提高了效率
        2- vue3支持碎片(Fragments):支持多个根节点
        3- Composition API
                Vue2 与vue3 最大的区别是vue2使用选项式api,对比vue3组合式api。旧得选项型api在代码里分割了不同得属性:data,computed,methods等;新得组合式api能让我们使用方法来分割,相比于旧的API使用属性来分组,这样代码会更加简便和整洁
        4-建立数据data
                vue2是把数据放入data中,vue3就需要使用一个新的setup()方法
                备注:此方法在组件初始化构造得时候触发。使用一下三个步骤来建立反应性数据:
                        1. 从vue引入reactive;
                        2. 使用reactive() 方法来声明数据为响应性数据;
                        3. 使用setup()方法来返回我们得响应性数据,从而template可以获取这些响应性数据。
        5- 生命周期
                vue2     --------------- vue3
                beforeCreate       ->   setup()
                Created            ->   setup()
                beforeMount        ->   onBeforeMount
                mounted            ->    onMounted
                beforeUpdate       ->    onBeforeUpdate
                updated            ->    onUpdated
                beforeDestroyed    ->    onBeforeUnmount
                destroyed          ->     onUnmounted
                activated          ->     onActivated
                deactivated        ->     onDeactivated

                beforeCreate 和 created 已经合并成一个新的函数 setup。
                deactivated 和 activated 已经被废弃,取而代之的是 beforeMount 和 beforeUpdate。因为在Vue3中,keep-alive组件被完全重写了,其默认行为现在与没有keep-alive一样。
        6- 父子传参不同
                父传子,用props,子传父用事件 Emitting Events。
                在vue2中,会调用this$emit然后传入事件名和对象;
                在vue3中得setup()中得第二个参数content对象中就有emit,那么我们只要在setup()接收第二个参数中使用分解对象法取出emit就可以在setup方法中随意使用了。
       7- 新增setup()函数特性

2.vue2响应式原理与vue3响应式原理的区别


        响应式原理就是指的是MVVM的设计模式的核心,即数据驱动页面,一旦数据改变,视图也会跟着改动。
        vue2的响应式原理是由Object.defineProperty()实现的 (数据劫持)
        vue3的响应式原理是由es6中的Proxy所实现的 (数据代理)

3.Vue3带来了什么改变?


        1.性能的提升
                打包大小减少41%
                初次渲染快55%, 更新渲染快133%
                内存减少54%
        2.源码的升级
                使用Proxy代替defineProperty实现响应式
                重写虚拟DOM的实现
        3.Vue3可以更好的支持TypeScript
                新的特性-Composition API(组合API)

4.vue2与vue3有什么区别

        vue2使用的是defineProperty,vue3采用的是proxy

        vue2采用的是面向对象编程,vue3采用的是函数式编程 

        vue3修改了细腻dom算法,只针对变化的层进行diff,而vue2是对所有的dom进行diff

5.vue3的常用compositionAPI有哪些

        setup , ref函数 , reactive函数 , vue3中的响应式原理 , 计算属性 , 监听属性 , vue3生命周期

        Teleport

你可能感兴趣的:(每日作业,数学建模,html,javascript)