javascript - 如何解决 vue 3 中的错误“这是未定义的”
问题描述
我已经创建了一个像下面这样的 vue 组件:
<template>
<div class="login">
<h3>Sign in</h3>
<input type="text" placeholder="Email" v-model="email"/><br>
<input type="password" placeholder="Password" v-model="password"/><br>
<button v-on:click="login()">Login</button>
</div>
</template>
<script>
import firebase from 'firebase'
export default {
name: "Login",
data: function () {
return {
email: '',
password: ''
}
},
methods: {
login: function () {
firebase.auth().signInWithEmailAndPassword(this.email, this.password).then(function (user) {
this.$router.replace('home')
})
}
}
}
</script>
在我输入用户名和密码并单击登录,firebase auth 成功和控制台显示错误之前,它仍然可以,这是未定义的。我该如何解决这个错误?我不能使用路由器。
解决方案
尝试使用箭头函数:
firebase.auth().signInWithEmailAndPassword(this.email, this.password).then((user) => {
this.$router.replace('home')
})
推荐阅读
- regex - 如何在同一组中收集不同的表情
- google-maps - 谷歌地图嵌入 API 限制在本地不起作用
- intellij-idea - IntelliJ Idea 2020 格式错误的参数已嵌入引用:-Djava.endorsed.dirs=\"\"
- python - 在 pandas 中迭代地创建多索引和多列数据框
- javascript - VueJS 模板考虑一个真实的 || 虚假陈述为虚假,为什么?
- javascript - Angular2 - 在组件类中创建多个变量声明与直接在模板中使用对象
- reactjs - React Router Dom 5.1.2 — 选项卡支持
- amazon-web-services - 通过 Lambda 函数获取数据并将其保存为 AWS 存储中的 JSON
- google-apps-script - 如何在 Google Apps 脚本中创建一个循环?
- python - 后缀:从python脚本读取传入邮件时权限被拒绝错误