Передача значения из данных в переменную - PullRequest
0 голосов
/ 16 июня 2019

Я сейчас использую Ionic 4 и Firestore.Я пытаюсь проверить, существует ли идентификатор документа в Firestore, а затем выполнить 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 ]

3 голосов
/ 16 июня 2019

В строке

if (testVar = true)

вы присваиваете testVar, не проверяя, верно ли это (вы можете сделать это с помощью операторов == или ===)

Кроме того, в javascript не существует неявного this, поэтому this.testVar не является той же переменной, что и testVar

1 голос
/ 16 июня 2019

Прежде всего, где вы определяете тестовую переменную?Я думаю, это this.testVar.

Тогда способ проверки вашей переменной неверен.

Одинаковое равенство означает присвоение значения, а не его проверку.

Вы можете сделать это, оно будет проверять все, что отличается от undefined или null

if (this.testVar)

Или, если вы хотите проверить, действительно ли это истинное значение

if (this.testVar === true)

Будет проверено значение равенства, значение typeof (логическое или любое другое)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...