Vue 3 其中的一个迷惑?操作

首先请看以下代码片段,这是 Vue3 新增的一个 emits 属性,其中有一个功能是,可以添加自定义事件验证,来决定是否 emit 这个事件

app.component('custom-form', {
  emits: {
    // No validation
    click: null,

    // Validate submit event
    submit: ({ email, password }) => {
      if (email && password) {
        return true
      } else {
        console.warn('Invalid submit event payload!')
        return false
      }
    }
  },
  methods: {
    submitForm() {
      this.$emit('submit', { email, password })
    }
  }
})

但我觉得,这个有点多余,因为这样的验证,完全可以一个 customFormValidator 函数来搞定,不知道这波 V3 真正的意义是什么。。

submitForm() {
  const valid = customFormValidator(formValue)

  if (!valid) return

  this.$emit('submit', { email, password })
}
posted @ 2020-12-12 14:13  kemplaw  阅读(71)  评论(0)    收藏  举报