将值从数据传递到变量

时间:2019-06-16 13:50:49

标签: javascript ionic-framework google-cloud-firestore

我目前正在使用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 {

      };
    })

2 个答案:

答案 0 :(得分:3)

在线

if (testVar = true)

您要分配给testVar,而不是测试其是否正确(您可以使用==或===运算符来做到这一点)

此外,javascript中没有隐式的this,因此this.testVartestVar的变量不同

答案 1 :(得分:1)

首先,您在哪里定义测试变量? 我认为是this.testVar

然后,测试变量的方法是错误的。

单一等于表示分配一个值,而不是对其进行测试。

您可以执行此操作,它将测试与undefinednull不同的所有内容

if (this.testVar)

或者如果您想测试它是否真的是真值

if (this.testVar === true)

它将测试相等性值typeof的值(布尔值或其他值)