Error in v-on handler: “TypeError: Cannot read property ‘validate‘ of undefined“ 的错误原因

学习ElementUI的过程中,写完的登陆框点击“登录”后没有后续动作,报错如下:
Error in v-on handler: “TypeError: Cannot read property ‘validate‘ of undefined“ 的错误原因
开始没搞明白为什么报错、哪里出了错。在网上找了一些解决办法,一般是说要把this. r e f s [ f o r m N a m e ] . v a l i d a t e ( ( v a l i d ) . . . 改 成 t h i s . refs[formName].validate((valid) ...改成this. refs[formName].validate((valid)...改成this.refs.formName.validate((valid) …的写法,并保证this.$refs.loginForm.validate() 中的loginForm与ref="loginForm"名字要相同。这样确实可以消除错误,但是实际上是不传参数,把formname写死了,感觉并没有找到问题的根源。
自己又仔细查了半天,最后发现是控件里@click="submitForm(‘loginForm’)"这一句,loginForm没有加引号。加引号是把表单名作为字符串参数传给响应函数,不加引号的话就变成变量了。
加引号后问题解决。

上一篇:Linux-内存管理机制、内存监控、buffer/cache异同


下一篇:dd