当前位置: 首页 > news >正文

河北住房建设厅官方网站b站推广网站mmmnba

河北住房建设厅官方网站,b站推广网站mmmnba,中学生制作网站,电子商务企业网站有哪些这周呢主要就是整理整理学的东西,不然看的也记不住,把这些学的东西做成笔记,感觉会清楚许多,这次就把vue2和vue3的区别总结一下,明天要考四级,嗐,本来想着复习四级,结果只写了一两套…
    这周呢主要就是整理整理学的东西,不然看的也记不住,把这些学的东西做成笔记,感觉会清楚许多,这次就把vue2和vue3的区别总结一下,明天要考四级,嗐,本来想着复习四级,结果只写了一两套题,四级这有点悬呀。

1.API

  • vue2:vue2使用选项类型API,选项类型API在代码里分割了不同的属性data,computed,methods等,一个逻辑散乱在文件不同的位置,导致代码可读性变乱

  • vue3:vue3中使用组合式API,将逻辑内容写到一起,增强了代码的可读性,还提供了逻辑复用性方案

2.生命周期

整体变化不大,但在vue3在组合式API中使用生命周期的时候,要先引入。而Vue2在选项API中可直接调用生命周期钩子。

vue2vue3
beforeCreate
created
beforeMountonbeforeMount
mountedmounted
beforeUpdateonbeforeUpdate
updatedonupdated
beforeDestoryonbeforeDestory
destoryedondestoryed

除了这些钩子函数,vue3还增加了onRenderTracked 和onRenderTriggered函数。

setup是围绕beforeCreate和created钩子函数去运行的,所以不需要显示去定义

3.多根节点

vue2中多根节点会报错

//vue2中存在多个节点会报错,但是vue3中支持多个节点
<template><header></header><main></main><footer></footer>
</template>
//只能存在一个根节点,需要一个div包裹
<template><div><header></header><main></main><footer></footer></div>
</template>

4.异步组件Suspense

​ vue3提供的Suspense组件,有两个插槽:#default#fallback,来确保加载完成异步内容是显示默认插槽,并将#fallback插槽用作加载状态。

​ Suspense常见的使用场景:

配合vue3中的defineAsyncComponent来加载异步组件时,进行loading处理

配合路由使用,当未加载完毕时不显示router-view,而是渲染fallback的内容

<template><div class="child"><h3>我是Child组件</h3></div>
</template><script>
import {ref} from 'vue'
export default {name:'Child',setup(){return new Promise((resolve,reject)=>{setTimeout(()=>{resolve({sum})},3000)})}
}
</script>
<style>
.child{background-color:rgb(206, 225, 65) ;padding: 10px;
}
</style>

​ Child组件(有可能是异步组件,也有可能是组件内部处理逻辑或查找操作过多导致加载过慢等)未加载完成前,显示 Loading…(即 fallback 插槽内容),加载完成时显示自身(即 default 插槽内容)

<template><div class="app"><h3>我是App组件</h3><Suspense><template v-slot:default><Child/></template><template #fallback><h3>加载中。。。</h3></template></Suspense></div>
</template><script>
// import Child from './components/Child.vue'//静态引入
import {defineAsyncComponent} from  'vue' 
const Child = defineAsyncComponent(()=>import('./components/Child.vue')) //异步引入
export default {name:'App',components:{Child}
}
</script><style>
.app{background-color:royalblue ;padding: 10px;
}
</style>

Suspense组件会触发三个事件:pendingresolvefallback

  1. pending:pending事件是在进入挂起状态时触发。
  2. resolve:resolve事件是在default插槽完成获取新内容时触发。
  3. fallback:fallback事件是在fallback插槽的内容显示时触发

5.Telport

vue3提供了Telport组件可将部分DOM移动到vue app之外的地方。比如说经常要是用的dialog弹框

<template><button @click="isShow = true">点我弹个窗</button><teleport to="#teleport-target">//将对话框移动到了teleport-target盒子下面<div v-if="isShow" class="mask"><div class="dialog"><h4>我是一个对话窗组件</h4><h4>我是一个对话窗组件</h4><button @click="isShow = false">关闭弹窗</button></div></div></teleport>
</template>

6.响应式原理

​ 1.vue2响应式原理基础是Object.defineProperty,通过Object.defineProperty来劫持各个属性的setter、getter,在数据变动时发布消息给订阅者,触发相应的监听回调

​ Object.defineProperty基本用法:直接在一个对象上定义新的属性或修改现有的属性,并返回对象

​ 2.vue3响应式原理基础是Proxy相较于vue2,提供语言全范围响应能力,消除了局限性

​ 3.差异如下:

vue2

  1. Object.defineProperty,不具备监听数组的能力,需要重新定义数组的原型来达到响应式
  2. Object.defineProperty无法监测到对象属性的添加和删除
  3. 由于vue会在初始化实例时对属性执行getter和setter转化,所有属性必须在data对象上才能让vue将它转化为响应式
  4. 深度监听需要一次递归,对性能影响较大

vue3

  1. 基于Proxy和Reflect,可以原生监听数组,可以监听对象属性的添加和删除
  2. 不需要一次性遍历data的属性,可以显著提高性能

7.TypeScript支持

vue3由typeScript重写,相对vue2有更好的typeScript的支持

最后,vue3比vue2还新增了响应式的API(reactive、ref等),响应式侦听(watchEffect)等

http://www.tj-hxxt.cn/news/63556.html

相关文章:

  • 品牌型网站的特点南京今日新闻头条
  • 做漫画的网站有哪些百度关键词搜索怎么收费
  • 东莞网站设计企业指数工具
  • wordpress 用户女生seo专员很难吗为什么
  • 卧龙区网站建设哪家好数据分析软件工具有哪些
  • 每日优鲜app算网站建设南昌seo技术外包
  • 微信网站是什么意思路由器优化大师
  • 开不锈钢公司怎么做网站百度sem竞价托管公司
  • 做婚庆网站图片下载百度推广官网登录
  • 乐清网优北京网站优化排名
  • 东莞网站建设百度地图百度企业认证怎么认证
  • 政府网站建设的战略视频号怎么付费推广
  • 好看的模板seo怎么去优化
  • 大连哪有做网站的潍坊网站开发公司
  • 卡盟网站怎么做百度官方营销推广平台加载中
  • 营销类网站 英文全国疫情最新数据
  • 社交网站有哪些如何做上海搜索排名优化
  • 怎么用ngrok做网站关键词查询的分析网站
  • 建设网站制作实训报告福清市百度seo
  • 西安做网页的潍坊百度关键词优化
  • 做房产的网站排名免费下载app并安装
  • 房产信息网显示限售手机网站怎么优化关键词
  • 中国网站建设公司有哪些方面太原百度推广排名优化
  • 怎么制作网站教程图片营销策略范文
  • 优秀b2c网站设计seoheuni
  • 用什么做网站最简单网络营销广告
  • php网站怎么缓存加盟教育培训机构
  • 怎么制作网站后台谷歌广告开户
  • 做网站怎么电话约客户看广告收益的正规平台
  • 河北网站建设方案详细南阳网站优化公司