Vue3中SetUp函数的参数props、context详解

1.setUp函数的第1个参数props

setup(props,context){}
第一个参数props:
props是一个对象,包含父组件传递给子组件的所有数据。
在子组件中使用props进行接收。
包含配置声明并传入的所有的属性的对象
也就是说:如果你想通过props的方式输出父组件传递给子组件的值。
你需要使用props进行接收配置。即props:{......}
如果你未通过Props进行接受配置,则输出的值是undefined


Vue3中SetUp函数的参数props、context详解
文章图片

为什么通过props.mytitle输出的值是undefined呢?
因为我们没有使用props进行接收配置。即
props:{mytitle:{type:Object}},

如果我们添加上接受配置
2.参数context的讲解

第2个参数:context,是一个对象。
里面有attrs(获取当前标签上的所有属性的对象)
但是该属性是props中没有声明接收的所有的对象。
如果你使用props去获取值,同时props中你声明了你要获取的值
则:获取的值是undefined
注意点:
attrs获取值是不需要props中没有声明接收。
第1个参数props获取值是需要props中声明接收的
有emit事件分发,(传递给父组件需要使用该事件)
有slots插槽

Vue3中SetUp函数的参数props、context详解
文章图片

3. 子组件向父组件派发事件

【Vue3中SetUp函数的参数props、context详解】4.优化事件派发
我们知道第2个参数context是一个对象
并且对象中有三个属性attrs,slots,emit
在事件派发的时候,直接使用emit就ok了

5.获取父组件传递的值
我们将使用props参数获取值
以及使用attrs获取值

Vue3中SetUp函数的参数props、context详解
文章图片

附使用setup函数时需要注意几点:
  • setup函数的执行时机是在beforeCreate和created之间
  • 由于setup执行时机是在created之间,所以组件才刚刚被创建,而data和methods还没初始化好,所以无法在setup中使用data和methods
  • setup中this指向undefined
  • setup只能是同步的,不能是异步的
总结
到此这篇关于Vue3中SetUp函数的参数props、context的文章就介绍到这了,更多相关Vue3 SetUp函数参数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

    推荐阅读