模式一

script标签引入setup模式

<script setup>

此模式下需要使用defineEmits来声明emits
子组件:

<div @click="backData"></div>
const emit = defineEmits(['getData']);
const backData = () => {
  emit('getData', '123')
}

父组件:

<Child @getData="getData"/>
import Child from './Child.vue'
const getData = (val: any) => {
  console.log(val)
}

模式二

script标签不引入setup
子组件:

<div @click="backData"></div>
export default {
  emits: ["getData"],
  setup (props,{emit}) {
    const backData = () => {
      emit('getData', 123)
    }
    return {
      backData
    }
  }
}

父组件:

<Child @getData="getData"/>
import Child from './Child.vue'
export default {
  name: "Parent",
  components: {
    Child
  },
  setup() {
	const getData = (val: any) => {
	  console.log(val)
	}
	return {
	  getData
	}
  }
}
Logo

前往低代码交流专区

更多推荐