[讨论]第5章ValidateForm不使用mitt的方案
来源:5-9 ValidateForm 编码第二部分 - 尝试父子通讯
slpwlkr
2021-08-18
我在项目里使用上面的方法实现了相同的功能,希望和老师分享一下~
ValidateInput.vue:
\\发出事件到父组件
onMounted(() => {
context.emit('form-item-mounted', validateInput)
})
ValidateForm.vue:
\\模板里用插槽属性暴露handler
<slot name="default" :onFormItemMounted="onFormItemMounted"></slot>
\\加入验证函数
const onFormItemMounted = (func: ValidateFunc) => {
validateFuncs.push(func)
}
Login.vue:
\\父组件里绑定事件
<template #default="{ onFormItemMounted }">
<div class="mb-3">
<label class="form-label">Email address</label>
<validate-input :rules="emailRules" v-model="emailValue" @form-item-mounted="onFormItemMounted"
type="email" placeholder="输入邮箱"></validate-input>
</div>
</template>
由于慕课没有讨论区,故发到提问区,请老师见谅~
写回答
2回答
-
张轩
2021-08-18
同学你好 非常好的思路和扩展 非常感谢你写的这个内容 开阔了所有人的视野 我个人认为 这个方法比事件要稍微难理解一点 同时 能否把你的代码(git)补充到文章中 这样其他同学可以更好的了解这个方法。
32春去_秋来
2022-08-25
你好 可以分享个git地址吗?想看下你怎么写的
00相似问题