submit() { this.$refs.form.validate((valid) => { if (!valid) return this.$message.error('数据校验失败,请检查后提交!'); this.load = true; this.loginText = '登录中...'; //如果数据检验成功,则向后端发送请求,进行登录 this.$ajax.post('/user/login', this.form).then((res) => { const tokenBody = res.data; let tokenHead = tokenBody.tokenHead; let token = tokenBody.token; this.$store.commit('setToken', tokenHead + token); this.$router.push('/'); }).catch(() =>{ this.load = false; this.loginText = '登 录'; }); }); },分析
时间: 2024-02-10 09:19:22 浏览: 72
【JavaScript源代码】Vue之ElementUI Form表单校验.docx
这段代码是一个 Vue.js 组件中的一个方法,用于提交表单数据进行登录操作。具体分析如下:
首先,在方法中通过 `$refs.form` 获取到表单的引用,然后调用 `validate()` 方法进行数据校验。该方法接收一个回调函数,当校验完成后会自动调用该函数并传入一个参数 `valid`,表示校验是否通过。
如果校验未通过,则直接返回一个错误提示。
如果校验通过,则将 `load` 标志位设置为 `true`,并将登录按钮的文本设置为 “登录中...”。
接下来,调用 `$ajax.post()` 方法向后端发送登录请求。如果请求成功,将响应中返回的 token 数据保存到 Vuex 的 store 中,并通过 `$router.push()` 跳转到首页。如果请求失败,则将 `load` 标志位设置为 `false`,并将登录按钮的文本设置为 “登录”。
需要注意的是,该代码中涉及到了一些 Vue.js 的语法和组件的引用,例如 `$refs.form` 和 `$ajax.post()` 都是 Vue.js 提供的 API。
阅读全文