我目前正在使用Ionic 4和Firestore。我正在尝试检查Firestore中是否存在文档ID,然后根据情况执行if-else。
但是,当我返回值并尝试将其分配给变量时,它不保存该值。这是我的示例代码
this.service.checkLogin(this.test).then((data) => {
this.testVar = data;
console.log(this.testVar) //here shows 'false if data is false'
if (testVar = true) {
console.log(this.testVar) //however, over here it will show true
even if the result above was initally false.
this.router.navigateByUrl('/home');
}
else {
};
})
答案 0 :(得分:3)
在线
if (testVar = true)
您要分配给testVar
,而不是测试其是否正确(您可以使用==或===运算符来做到这一点)
此外,javascript中没有隐式的this
,因此this.testVar
与testVar
的变量不同
答案 1 :(得分:1)
首先,您在哪里定义测试变量?
我认为是this.testVar
。
然后,测试变量的方法是错误的。
单一等于表示分配一个值,而不是对其进行测试。
您可以执行此操作,它将测试与undefined
或null
不同的所有内容
if (this.testVar)
或者如果您想测试它是否真的是真值
if (this.testVar === true)
它将测试相等性值typeof
的值(布尔值或其他值)