2021-07-22

VUE 3.0

组合式API
setup

WARNING

​ 执行setup时未创建组件实例,setup选项中没有this,无法访问props之外,组件声明的任何属性。(本地状态、计算属性或方法)

  1. setup函数可以接收props参数,并返回函数和变量供其他组件访问。

  2. 但此时变量并不是响应式的,因此:

    import {ref} form 'vue'
    
    const counter = ref([])
    

    通过ref对值创建了一个响应式引用

  3. setup函数中注册生命周期(watch、onMounted、computed)

    ​ onMounted([方法名]) //在mounted生命周期时,调用该方法

    ​ watch 响应式更改

    接受参数:

  • 一个响应式引用或者getter函数
  • 一个回调
  • 可选配置选项
import {watch} form 'vue'

watch(counter,(newValue,oldValue)=>{
  
})
  1. 将读取数据和查找数据(也就是刚才setup中的两个功能)分别放到两个独立的js文件中,将其功能函数return
  2. 在主vue文件中接收被return的方法,再次在vue文件中return

setup函数接受两个参数

  • props
  • context

Warning

​ props不能使用ES6结构,会消除响应性。

​ 使用toRefs安全解构。

context是个普通JS对象,可以安全解构。

截屏2021-05-28 上午11.51.46
Teleport

​ 允许控制在DOM中哪个父节点下呈现HTML。 ——元素时根据哪个父元素定位

数据劫持

http://wiki.baidu.com/pages/viewpage.action?pageId=1524141468

  1. Object.defineProperty()无法检测数组变化

请添加图片描述

set方法定义在 core/observer/index.js

arrayMethods 是对数组的方法进行重写,定义在 core/observer/array.js 中。

请添加图片描述
请添加图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值