vue.js 如何在组合API中发出值

zaqlnxep  于 2023-10-23  发布在  Vue.js
关注(0)|答案(2)|浏览(161)

我有一个日期选择器组件,它包含在一个表单中。
如何使用composition API从datepicker组件向Vue3中的表单组件发出值? 迄今为止不成功的解决方案是: 1.投掷次数:context.emit is not a function`

  1. setup(context){
  2. ....
  3. function emitDate(){
  4. context.emit('chosenDate', datepickerValue.value)
  5. }
  6. }

1.投掷次数:this.$emit is not a function

  1. setup(){
  2. ....
  3. function emitDate(){
  4. this.$emit('chosenDate', datepickerValue.value)
  5. }
  6. }
ergxz8rk

ergxz8rk1#

你需要将emit,沿着props传递给setup:

  1. setup(props, { emit }) {
  2. function emitDate(){
  3. emit('chosenDate', datepickerValue.value)
  4. }

或者在脚本设置中:

  1. const emit = defineEmits(['chosenDate'])
  2. function emitDate() {
  3. emit('chosenDate', datepickerValue.value)
  4. }
7y4bm7vi

7y4bm7vi2#

setup的第一个参数是propscontextsetup之后,请参阅设置参数:

  1. setup(props, context){
  2. ....
  3. function emitDate(){
  4. context.emit('chosenDate', datepickerValue.value)
  5. }
  6. }

或者:

  1. setup(props, { emit }){
  2. ....
  3. function emitDate(){
  4. emit('chosenDate', datepickerValue.value)
  5. }
  6. }

相关问题