vue3 defineEmits的使用
以下代碼和內容的使用都是在vue3的setup中,未使用TS。
1、計數(shù)器案例
父組件:
<template>
<h2>當前計數(shù)為: {{counter}}</h2>
<HelloWorld @add1="add1" @decre1="decre1"></HelloWorld>
</template>
<script setup>
import { ref } from 'vue'
import HelloWorld from './HelloWorld.vue'
// 1、定義的屬性
const counter = ref(0)
// 2、定義的方法
const add1 = (payload) => {
counter.value = payload
}
const decre1 = (payload) => {
counter.value = payload
}
</script>
子組件:
<template>
<div>
<button @click="increment">+1</button>
<button @click="decrement">-1</button>
<div>
<input type="text" v-model.number="num">
</div>
</div>
</template>
<script setup>
import { ref, defineEmits } from 'vue'
// 1、定義的屬性
const num = ref(0)
// 2、定義發(fā)射給父組件的方法
const emits = defineEmits(['add1', 'decre1'])
// 3、定義新增和遞減計數(shù)方法
const increment = () => {
num.value++
emits('add1', num.value)
}
const decrement = () => {
num.value--
emits('decre1', num.value)
}
</script>
頁面渲染效果
2、案例說明
1、在父組件中定義一個變量
2、在子組件中定義+1和-1方法,以及一個變量
3、通過子組件事件修改變量值,同時將值傳遞給父組件,對父組件的變量進行賦值
3、defineEmits API 使用說明
1、在子組件中調用defineEmits并定義要發(fā)射給父組件的方法
const emits = defineEmits(['add1', 'decre1'])
2、使用defineEmits會返回一個方法,使用一個變量emits(變量名隨意)去接收文章來源:http://www.zghlxwxcb.cn/news/detail-532103.html
3、在子組件要觸發(fā)的方法中,調用emits并傳入發(fā)射給父組件的方法以及參數(shù)文章來源地址http://www.zghlxwxcb.cn/news/detail-532103.html
emits('add1', num.value)
到了這里,關于vue3 defineEmits的使用的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!