Vue3 自定义事件

参考教程

事件名 会自动将 驼峰 转化为 kebab-case (HTML标签不区分大小写这个问题)
props、自定义事件、组件 的命名都存在自动转化。如果你使用的是字符串模板,这个限制就不适用。

emits 选项

当在 emits 选项中定义了原生事件 (如 click) 时,将使用组件中的事件替代原生事件侦听器。

带有验证的 emit

与props类似,可以通过数组语法对象语法 来定义自定义事件

通过对象语法配置事件抛出验证:

{
	 emits: {
		// 验证submit 事件
		submit: ({ email, password }) => {
		  if (email && password) { // 邮箱和密码都存在
		    return true
		  } else {
		    console.warn('Invalid submit event payload!')
		    return false
		  }
		}
	 },
	 methods: {
		submitForm(email, password) { 
		  this.$emit('submit', { email, password }) // 触发自定义事件的方法
		}
	 }
}
posted @ 2021-07-29 22:47  海胆Sur  阅读(42)  评论(0)    收藏  举报  来源