相关定义参考:
https://v3.cn.vuejs.org/guide/composition-api-setup.html
总结:
- setup 函数接受两个参数:(props、context(包含attrs、slots、emit))
- setup 函数在生命周期函数 beforeCreate 和 Created 两个钩子函数之前
- 执行 setup 时,组件实例尚未被创建。所以setup函数里是没有关于组件实例的 this 的。在 setup 函数里 this 为 undefined
- 与模板一起使用:需要返回一个对象
- 使用渲染函数:可以返回一个渲染函数,该函数可以直接使用在同一作用域中声明的响应式状态
- setup 的 return 的值可以被 data、methods等接收,也可以直接渲染在页面上。methods等可通过 this 访问
- setup 中使用 reactive 或 ref 创建响应式数据
- setup 中 reactive 解构操作会使其失去响应性,需要单方面关注一下。可以使用Object.assign() 进行对象类型赋值操作
- ref 数据需要 .value 的方式获取
- setup 中已知生命周期函数,以 on 为开头的驼峰式写法即可实现对应功能。这些包括上述 ref 、 reactive 都需要在引入的 vue 中获取。