在 Vue2 中,如果已知绑定属性,如何找到元素?
有没有办法将两者关联起来?
<input ref="inputRef" v-model="model.name">
在这种情况下,如果能够验证模型,然后在输入控件上显示错误,而无需为每个输入指定标识符,那就太好了。
可以得到绑定表达式:
// expression = "model.name"
const expression = inputRef.$vnode.data.model.expression
然而,解析每个可能的表达式并将其映射到属性上似乎有点过分了。
据我所知,不可能将元数据添加到变量中以显示错误消息或将输入与属性相关联。
是否有一种可靠的方法可以将变量的实例映射到表单内绑定该变量的元素?
在撰写本文时,不可能以任何简单的方式确定绑定属性。
在 Vue2 中,可以获取绑定表达式,然后通过某种匹配来解析名称,但这是一个糟糕的想法,此时手动包含名称会更容易。
所以,不,这不能以可靠的方式完成,您必须在绑定中包含名称或某种元数据。
Vuelidate 使用模型验证的验证框架通过手动绑定 UI 中的错误来解决此问题。