当前位置: 首页 > 科技观察

Vue3$emit指南--包括optionsAPI、combinationAPI和setup语法糖

时间:2023-03-20 18:49:11 科技观察

www.ydisp.cn/oss/202207/13/c83f0f6675bf9bbb03c3656b051f207a3bf3e5.gif"alt="image"title="image"style="width:872像素;能见度:可见;height:544px;"data-type="block">每次我们点击按钮,Child.vue都会发出一个add事件,其值在0到1之间。然后,Parent.vue捕获这个事件并将这个值添加到计数。可以传递任意数量的参数,侦听器将接收所有参数:Child-$emit('add',Math.random(),44,50)Parent-@add="(i,j,k)=>count+=i+j+k"现在,我们知道如何在我们的模板中发出内联事件,但在更复杂的示例中,如果我们从SFC中的脚本发出一个事件会更好。这特别有用当我们想在发出事件之前执行一些逻辑时。在Vue3中,我们有2种不同的方法来执行此操作:选项API-this.$emit与setup()的组合API-context.emit与exportdefault{methods:{handleChange(event){this.$emit("customChange",event.target.value.toUpperCase())}}}在Parent.vue中收到:ComposingAPIwithsetup()-context.emit在CompositionAPI中,如果使用了setup函数,则不能再使用this,即你不能调用this.$emit()方法。相反,可以使用setup方法中的第二个参数context访问emit方法。我们可以使用之前使用的事件名称和值调用context.emit。MyTextInput.vue