//页面使用 renderTest.vue这个组件<template><div class="father-div"><renderTest title="父组件给的数据"></renderTest></div></template><script setup lang="ts">import renderTest from './renderTest.vue'</script>
文章插图
emit 子传父
//renderTest.vue 文件<script lang="ts">import { h } from 'vue'//把按钮作为标签需要导入import { ElButton } from 'element-plus'export default {props: {title: {type: String}},setup(props, { emit }) {return () =>h('div',null,[//把按钮作为标签需要导入h(ElButton, {type:"primary",// 注意这里需要使用箭头函数,onClick: () => emit('myClick', '123')},//第三个参数建议使用函数返回 。否者在控制有警告// Non-function value encountered for default slot. Prefer function slots for better performance.()=>'点击我')])}}</script>
//页面使用 renderTest.vue这个组件<template><div class="father-div"><renderTest @myClick="myClick"></renderTest></div></template><script setup lang="ts">import renderTest from './renderTest.vue'const myClick = (mess:string) => {console.log('子组件给的数据', mess)}</script>
文章插图
需要注意的点
1.如果使用ElButton作为标签 。需要引入import { ElButton } from 'element-plus' 。否则在页面中无法正常解析 。2. 第三个参数建议使用函数返回 。否者在控制有警告Non-function value encountered for default slot. Prefer function slots for better performance. 详细地址 :https://cn.vuejs.org/guide/extras/render-function.html#v-if
推荐阅读
- 【Serverless】云函数微信小程序
- 怎样用计算器?arctan计算角度 arctan计算器在线计算
- 从0搭建vue3组件库:自动化发布、管理版本号、生成 changelog、tag
- 【vue2】Style和Class,条件,列表渲染,双向数据绑定,事件处理
- 从0搭建vue3组件库: 如何完整搭建一个前端脚手架?
- 关于 Vue 中 h 函数的一些东西
- 函数柯里化实现sum函数
- JavaScript函数式编程之函子
- vue3中$attrs的变化与inheritAttrs的使用
- Java函数式编程:一、函数式接口,lambda表达式和方法引用