1.父组件向子组件传递数据:
在template中的子组件中,通过键值对方式传递user, 第一个user表示key,第二个表示setup中定义的对象,
子组件获取参数 ,通过props获取,并标识type属性表示获取类型Object,required表示父组件必须传递key为user的参数
子组件渲染参数,可以直接{{ }}渲染
2.子组件向父组件传递信息,无法直接传递,需要绑定事件通过context的emit方法实现传递,首先子组件绑定方法
然后setup中引入参数 props,context,注意虽然子传付用不到props,但必须写用来占位,不然获取不到context,所以必须写。
然后实现方法函数,在对应的点击方法中 context.emit 对应的父类绑定的方法名称
父类template中的子组件中要绑定对应上图emit中的方法,如下
然后在父类setup中定义好绑定的事件,如下
注意所有setup中非语法糖的方法和变量常量都需要return
3.子组件向父组件传递数据:
图中ref和v-model绑定了content的值,然后定义点击方法,也是通过context方法的emit实现和父组件的绑定方法实现传参,注意虽然子传付用不到props,但必须写用来占位,不然获取不到context,所以必须写。content需要 .value,表示传递的参数
父组件同样的方法首先在template的子组件中绑定emit中的方法
然后在setup中定义实现的方法
方法可以直接在()中接收参数
个人所学总结,希望有帮助,如有错误不足,感谢指正,