vue 3 快速上手

混合现实
• 阅读 448

为什么提出Vue3
提出了哪些改进

  1. 使用TS重构
  2. 应用了JS的新特性Proxy重写响应式
  3. 性能的提升
  4. Composition API
  5. 如果一定要选出一个最大的区别, 应该是Composition API

setup配置项

在Vue3中, 为了向前兼容, 不影响之前的配置项

创造了一个新的配置项setup, 所有的Composition API都可以在setup中使用

setup是一个函数

返回一个对象, 对象中定义的属性, 方法在模板中直接使用

返回渲染函数(不常用)

ref函数、reactive函数

在setup函数中, 如果要实现响应式, 需要借助

  • ref函数: 实现普通类型数据的响应式
  • reactive函数: 实现引用类型数据的响应式

    像ref, reactive, computed从Vue对象从导出的函数, 就是composition API

    ref函数: 实现值类型数据的响应式
    将值类型数据(普通数据 String, Number, Boolean, undefined, null)

ref函数: 接收普通类型的数据作为参数, 返回一个RefImpl对象
对于引用类型数据. 如对象, 数组
使用ref函数比较麻烦, 在访问时, 每次都需要.value赋值
reactive函数 引用类型数据. 如对象, 数组

  • 从定义的角度
  • ref: 主要用于基本数据类型
  • reactive: 主要用于引用数据类型
  • 从实现的角度
  • ref: 通过Object.defineProperty的get和set来实现响应式
  • reactive: 通过Proxy来实现数据劫持, 通过reflect操作内部属性
  • 从使用的角度
  • ref: 需要通过.value操作数据
  • reactive: 不需要.value, 直接操作数据

unref unref():是 val = isRef(val) ? val.value : val 的语法糖
isref()
检查一个值是否为一个 ref 对象。
toRefs()
把一个响应式对象转换成普通对象,该普通对象的每个 property 都是一个 ref ,和响应式对象 property 一一对应。
并且,当想要从一个组合逻辑函数中返回响应式对象时,用 toRefs 是很有效的,该 API 让消费组件可以 解构 / 扩展(使用 … 操作符)返回的对象,并不会丢失响应性:

hooks函数

hooks本质上还是一种函数, 将多个Composition API封装, 实现某个特定功能
hooks的作用
解耦
复用

待续

点赞
收藏
评论区
推荐文章
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
美凌格栋栋酱 美凌格栋栋酱
7个月前
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(
Souleigh ✨ Souleigh ✨
4年前
Vue3.0 高频出现的几道面试题
1.Vue3.0性能提升主要是通过哪几方面体现的?1.响应式系统提升vue2在初始化的时候,对data中的每个属性使用definepropery调用getter和setter使之变为响应式对象。如果属性值为对象,还会递归调用defineproperty使之变为响应式对象。vue3使用proxy对象重写响应式。proxy的性能本来比def
凯特林 凯特林
4年前
Vue3.0 高频出现的几道面试题
1、Vue3.0性能提升主要是通过哪几方面体现的?1.响应式系统提升vue2在初始化的时候,对data中的每个属性使用definepropery调用getter和setter使之变为响应式对象。如果属性值为对象,还会递归调用defineproperty使之变为响应式对象。vue3使用proxy对象重写响应式。proxy的性能本来比defineprope
凯特林 凯特林
4年前
Vue3.0 所采用的 Composition Api 与 Vue2.x 使用的 Options Api 有什么不同?
开始之前CompositionAPI可以说是Vue3最大的特点,那么为什么要推出CompositionApi,解决了什么问题?通常使用Vue2开发
Wesley13 Wesley13
3年前
FLV文件格式
1.        FLV文件对齐方式FLV文件以大端对齐方式存放多字节整型。如存放数字无符号16位的数字300(0x012C),那么在FLV文件中存放的顺序是:|0x01|0x2C|。如果是无符号32位数字300(0x0000012C),那么在FLV文件中的存放顺序是:|0x00|0x00|0x00|0x01|0x2C。2.  
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0